您一定已经看到了Mashable上共享功能的拖动,该功能允许访问者直观地在流行的社交网络上共享内容。只需拖动文章中的一张图片,您就可以将拖动的图像放在其图标上,从而在您最喜欢的社交网络上分享该文章。甚至,Nettuts也写了一个很好的教程,介绍如何使用jQuery将此功能实现到您的网站中。但这里有一个非常优雅的解决方案,只需一两行 JavaScript 代码即可使用 jQuery 实现拖拽 n 共享效果。
获取 prettySociable 插件
要实现此功能,您将需要由 Stéphane Caron 编写的 prettySociable jQuery 插件。下载并解压缩插件,它包含启动和运行拖动共享所需的一切。
包括所需的文件
要将拖动 n share 添加到页面,请在页面的 head 标签中添加对 jquery 和 prettySociable 的引用。除了 js 文件夹外,插件文件夹还包括图像和 css 文件夹。您也需要它们,因为css文件夹包含拖动n共享元素所需的样式,而图像文件夹包含各种社交网络的图标。
以下是您需要添加到 head 标签中的完整代码。
<link rel="stylesheet" href="css/prettySociable.css" type="text/css" media="screen" charset="utf-8" />
<script src="js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
<!--[if lte IE 6]><script src="js/DD_belatedPNG.js" type="text/javascript" charset="utf-8"></script><![endif]-->
<script src="js/jquery.prettySociable.js" type="text/javascript" charset="utf-8"></script>
js 文件夹还包括用于修复 IE6 或更早版本中的 PNG 透明度问题的DD_belatedPNG.js。您还需要包括它。
定义可拖动链接
现在要向网页添加拖动 n 共享,请添加一个锚标记<href=“#”>另一个属性 rel=“prettySociable”。
初始化漂亮社交 添加 rel 属性
后,需要初始化脚本。在</正文的正上方添加这行代码>
<script type=“text/javascript” charset=“utf-8”>
Init prettySocialible
$.prettySociable();
</脚本>
在浏览器中查看您的页面,您应该拖动以共享功能正常工作。
自定义默认设置
自定义共享信息
当您在锚标签上添加 rel=“prettySociable” 及其 href=“#” 时,这将共享当前网页的 URL,并使用 head 标签中的标题和元描述在拖动时显示工具提示。
但是,如果您需要共享其他 URL 而不是当前网页,请在 href 属性中指定 URL。您还可以自定义拖动时显示的工具提示信息。您可以通过这种方式在 rel 属性中指定自定义标题和描述。
rel=“prettySociable;title:custom title;摘录:Custom excerpt;”
自定义共享面板
默认情况下,PrettySociable支持八个社交网络,但您可以根据需要自定义社交网络及其图标。为此,您需要将设置对象传递给 prettySociable 函数。
这是完整的设置对象
$.prettySociable({
动画速度: '快', /* 快/慢/正常 */
不透明度:0.90, /* 值介于 0 和 1 之间 */
share_label:“拖动以共享”, /* 用户将鼠标悬停在项目上时显示的文本 */
share_on_label:“分享于 ”, /* 用户将鼠标悬停在网站上进行共享时显示的文本 */
hideflash: false, /* 隐藏页面上的所有 flash 对象,如果 flash 出现在 prettySociable */
hover_padding: 0,
网站: {
脸书 : {
“活动”:真,
'encode':true, // 如果共享不起作用,请尝试转到 false
“标题”: “脸书”,
'网址': 'http://www.facebook.com/share.php?u=',
'icon':'images/prettySociable/large_icons/facebook.png',
“尺寸”:{“宽度”:70,“高度”:70}
},
推特 : {
“活动”:真,
'encode':true, // 如果共享不起作用,请尝试转到 false
“标题”: “推特”,
'网址': 'http://twitter.com/home?status=',
'icon':'images/prettySociable/large_icons/twitter.png',
“尺寸”:{“宽度”:70,“高度”:70}
},
美味 : {
“活动”:真,
'encode':true, // 如果共享不起作用,请尝试转到 false
“标题”: “美味”,
'网址': 'http://del.icio.us/post?url=',
'icon':'images/prettySocialble/large_icons/Delicious.png',
“尺寸”:{“宽度”:70,“高度”:70}
},
digg : {
“活动”:真,
'encode':true, // 如果共享不起作用,请尝试转到 false
“标题”: “迪格”,
'网址': 'http://digg.com/submit?phase=2&url=',
'icon':'images/prettySociable/large_icons/digg.png',
“尺寸”:{“宽度”:70,“高度”:70}
}
在此处添加更多社交网络
},
工具提示:{
偏移顶部:0,
偏移左: 10
},
弹出窗口:{
宽度: 900,
高度: 500
},
回调: function(){} /* 当 prettySociable 关闭时调用 */
});
设置对象是不言自明的。您可以在网站参数中指定要使用的网站以及要用于每个网站的图标。
您可以通过在锚标记的 href 属性中使用缩短的 URL 来进一步增强此拖动 n 共享脚本。
PS:要使此脚本在IE中正常工作,您需要在样式表中为可拖动的锚元素设置边距和填充值。
- 查看更多信息: http://webdeveloperplus.com/jquery/quick-easy-way-to-implement-drag-n-share-with-jquery/#sthash.TwzfyjXf.dpuf