shareList — jquery收藏&分享插件(明河作品)

发布于,归属于jquery插件81个座位已被强势霸占! 共有3,582人围观    

国内很多第三方提供收藏&分享的站点,比如jiathis、addthis等,这些站点提供的插件虽然引用方便,但都有个问题,点击收藏&分享按钮后事先跳转到该第三方的站点,然后才转向真正的分享插件,而且分享列表上面还是这第三方的logo之类的,而效果又是千篇一律,因此明河就想写一个没有任何第三方logo和中转而且效果出众的收藏&分享插件,我将其命名为$.shareList。

由于有用到了ajax,请在服务器端启动

2010-06-17 版本:0.12 更新如下:

  1. 美化分享站点的图标
  2. 修正更改站点配置无效的问题

2010-06-03 版本:0.11 更新如下:

  1. 增加feerbook、diglog、抽屉三个分享站点
  2. 修正九点分享路径

使用教程

1、引入jquery和$.shareList,还有css

  1. <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  2. <script type="text/javascript" src="js/jquery.shareList.js"></script>
  3.  
  4. <link href="style/css/base.css" rel="stylesheet" type="text/css" />
  5. <link href="style/css/shareList.css" rel="stylesheet" type="text/css" />

2、初始化插件

  1. $(function(){
  2.     $("#share").shareList();
  3. })

3、关于IE6与其他浏览器效果不同的说明

由于IE6无法支持png,尽管可以通过其他方式修正,但由于我会动画修改阴影的宽度和透明度,导致修正后的效果会出问题,所以加了个判断在IE6下,无法显示阴影。

4、shareListData.js文件说明

shareListData.js是一个json数据源,存放着所有的分享列表的数据,数据结果类似如下:

  1. {
  2.     "localName": "豆瓣",
  3.     "name": "douban",
  4.     "href" : "http://www.douban.com/recommend/?url={url}&title={title}"
  5. }
  • name 非常重要,分享站点的英文名
  • localName 中文名
  • href 链接,这里我使用了模板{url}页面链接,{title}页面标题

有需要的朋友可以自行添加。

5、分享站点图标说明

分享站点图标我整成了一张图片,请看shareList.png,第一列为收藏书签类站点,第二列为微博站点,第三列为SNS站点
如何修改图标呢
请看shareList.css

  1. .icon-facebook{background-position:-101px -242px !important;}

移动图片的背景。
class的类名是有规律的,“icon-”+“站点的英文名”

6、如何控制显示的分享站点及其顺序?

需要用到一个参数: shareSites
使用举例:

  1. $("#share").shareList({shareSites : ["9dian","sinaminiblog","renren","zhuaxia","xianguo"]
  2.                           });

shareSites参数是个数组,排在越前面,显示也是越前面,你可以自由控制显示顺序和显示的站点,站点的英文名可以看shareListData.js

7、API参数说明

参数名 数据类型 说明
shareSites Array

分享站点列表

比如:

shareSites : ["9dian","sinaminiblog","renren","zhuaxia","xianguo"]

getListAjaxOptions Object

获取分享站点列表的ajax配置

比如:

getListAjaxOptions : {
type: "GET",
url : "js/shareListData.js",
dataType : "json"
}

 

allowSroll Boolean 是否允许列表随鼠标滚动
showShadow Boolean 是否显示阴影,此参数在IE6下无效
shadowSrc String 阴影图片路径
preloadImgSrc String 预加载动画图片
speed Number 动画速度
style Object 列表容器样式
effect Object 效果设置(采用默认即可)
cls Object 样式名集合(采用默认即可)
tpl Object 模板(采用默认即可)

有发现任何bug或有任何问题,可以给明河留言,明河在此谢过了!
目前收藏分享站点还不够丰富,有没加入的站点,可以给明河留言

(如果您喜欢这篇教程,可以通过支付宝打赏我们1元哦,拜谢!)

跟作者说两句

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-? :) :( :!: 8-O 8)

81个座位已被强势霸占!

  1. silenus

    非常棒,赞一个~~!!!

  2. 达达达人

    好文

  3. juliad

    请问一下哦,会不会做成wordpress插件啊?我都不知道下载了的这些东西该插在哪里呢。。。bs我这个小白吧。。。

    明河共影回复于 2010年06月04日 8:22

    你好,正有这个打算,这个月将会把其弄成wordpress插件。
    现在想要在你的blog上应用起来,需要自己改下模板。

  4. 美好

    这个插件我用了之后很好,有两个小瑕疵

    1.好像总是分成2行显示,调节显示的宽度没有效果;

    2.图标比较大,和一般的博客文字比较起来不对称

    该怎么修改呢,谢谢!

  5. 美好

    1.好像总是分成2行显示,调节显示的宽度没有效果;

    2.图标比较大,和一般的博客文字比较起来不对称

    该怎么修改呢,谢谢!

    有消息发到我的邮箱:admin@gmei.cn 非常感谢

    明河共影回复于 2010年07月11日 8:24

    分享站点的图标,明河是把所有的图标合成一张,通过改变背景图片的位置,来达到显示不同图标的目的,这样有利于加载速度,但不利的是没办法修改图标大小,以后我会做多种的图标供选择。

    明河共影回复于 2010年07月11日 8:27

    至于你说的变成2行显示的问题,这个问题我还没有遇到过。你是不是重复引用插件了?你有没有后台勾选了自动添加到文章尾部,又使用了wp_share_list()呢?

    明河共影回复于 2010年07月11日 8:29

    ……..我看到你的提问了,你那主题把插件的样式给覆盖掉了,下个版本我会重新写下插件样式。

  6. Dianso

    发现百度和开心网一直错误,百度是URL在分类,开心网是都空白

    灵亦rEd回复于 2010年07月12日 10:41
    明河共影回复于 2010年07月12日 10:58

    好的,谢谢提醒,下个版本将予以修正

  7. uplush

    效果很好,已经在twitter上进行推荐了~~~

    明河共影回复于 2010年07月24日 8:20

    非常感谢

  8. 帅锅锅

    我的也是两排,下面一排总有2个或者3个图标,,,汗

  9. 小杰

    http://www.iwanpc.com/index.php/2010/09/06/office-tab-office-v6-00-rebieb/

    博主你好,为啥是两行啊??

    明河共影回复于 2010年09月08日 2:54

    有没有调用了二次?即在主题中插入了显示函数,又在配置中“自动在文章尾部显示”?

  10. 我看看

    没有什么 就是路过

  11. ALiang

    非常不错!

  12. modde

    我用的是黑色背景的主题…装上插件之后跟博客的风格相差太多….请问应该如何修改

    明河共影回复于 2010年10月27日 9:20

    目前没有比较好的办法,日后明河将加入黑色主题的调试。

  13. xiaoronglv

    你好,
    在使用这个插件的过程中碰到一个问题。就是分享到人人网时,只能显示分享的链接,标题和图表丢丢失了?
    我修改了分享的网址还是不行。
    http://share.renren.com/share/buttonshare.do?link=${url}&title=${title}

    请教一下,这个代码没有错误啊,科室为什么分享后就是没有标题呢。
    你可以在自己的网站上测试一下。

  14. wmtimes

    应该再加个功能,就是可以自定义图标的大小。现在感觉那图标太大了。

    明河共影回复于 2010年11月06日 10:26

    呵呵,因为明河使用的是背景图片的方式,所有的分享站点合成一个图片,然后改变背景图片位置的方式,这样的好处,减少请求数和无谓的外链数,当然弊端就是图标的尺寸不好控制。当然也是有办法的,就是比较麻烦,重新做一套小图标。感谢你的意见,我会去尝试下。

  15. 壞壞

    你好,我启用你的插件后,相册的Lightbox效果就没有了,请看下如何解决这个问题?

    明河共影回复于 2010年11月16日 6:52

    应该是jquery冲突了,你主题上的jquery是什么版本?

    壞壞回复于 2010年11月17日 5:37

    @明河共影, 如何查看jquery的版本?

    明河共影回复于 2010年11月18日 2:51

    ………..我一般引用google的jquery,它后来有跟版本号。其他方法我也不清楚。

    壞壞回复于 2010年11月18日 1:42

    @明河共影, 1.4.2和1.4.4测试都会出现启动后,相册的linghtbox效果消失,麻烦你看下~!

  16. ququsky

    博主您好!
    非常喜欢您的博客,通过看您的文章 我渐渐了解了jQuery,也在自己的项目中大量使用您写的插件和功能,现在我有个发现就是http://jquery-easyui.wikidot.com/tutorial:form4中的 友情链接检测功能,我可以做出检查坏链接的代码,但是检查“孤立链接”的无法实现 应该是我jQuery基础不行。但这功能很有用,对于站长可以及时了解哪些友情链接是单恋。。。
    请问您能否研究一下 整理出来供广大网友共享呢 谢谢!

    明河共影回复于 2010年11月18日 2:57

    非常感谢ququsky的留言,你给的建议非常好!的确,每次检查友情链接有没有互链,都要跳到其他页面查询,非常麻烦。这个功能的难点,不是jquery,应该是php,即,你要去抓取对方页面,然后进行匹配,看是否对方页面含有你的站点链接。最近比较忙碌,下阶段有时间的话,可以整整。你可以自己先琢磨下,欢迎与我探讨。

    ququsky回复于 2010年11月19日 9:28

    @明河共影, 恩是的,我是用jsp,读取远端数据,匹配这里可以做,但我想法是:站长和我换友链,必须先加我的,也就是说:用户可以前台提交友链申请,然后ajax自动判断是否已经加我的,加了自动审核,不加不显示,原来我想的是列表时候自动去判断,然后没有反链的显示灰色,不过太耗费资源,所以想这样:管理员前台点击按钮,然后去判断,有问题的高亮显示,并且出现删除按钮,当然这里我有点不会的,就是我不想同时判断,想根据某种顺序依次进行友情链接判断,不知道jQuery有那种按照步骤逐个判断的能力吗

    ququsky回复于 2010年11月24日 4:17

    @明河共影,
    $(‘.link_guanggao li’).each(function() {
    var oldData= $(this).text();
    $(this).html(oldData+”")
    linkcheck((this.id).slice(5),oldData);

    });
    });
    我的效果已经做完了,能够实现, link是我外置的一个函数 用的ajax判断是否有反链,已经运行可以通过, 但是好像有个问题是 这样还不是依次执行的,我一点击执行按钮,所有的友情链接都同时触发了检测导致有些回调不成功,我应该在linkcheck后面加延时吗还是怎样控制 each在某时间出发后再循环?

    明河共影回复于 2010年11月24日 5:23

    恭喜ququsky,期待你的作品,你完成可以把介绍发给我,我帮你贴到博客宣传下。浏览器的异步请求是不支持并发的哦。使用类似队列的解决方案在ajax的success回调函数中再执行ajax(),即 使用递归的方式,将请求一个一个的发送,而不是一下子发送。

  17. 壞壞

    测试1.4.2和1.4.4两个版本的JQ都会消失linghtbox的效果,请看下~!

    明河共影回复于 2010年11月18日 2:58

    linghtbox….正好我没装,所以没测兼容性,周末我有时间测试下,感谢坏坏。

  18. goofei

    非常漂亮,已经使用,自己美化了新浪跟豆瓣的图标,明河对discuz论坛有研究不?能不能把这个插件移植到discuz论坛呢?能在网站的任何地方调用就更好了。

    明河共影回复于 2010年11月23日 9:43

    呵呵,如果想要在DZ里面用,需要自己引入相应js。可以考虑做一个,谢谢意见。

  19. KEMO

    刚看了下 貌似开心的url打错了 应该是?rtitle 你写成了??title 另外开心分享url中是否可以添加rcontent,用来传递文章的内容?另外不知www.kaixin001.com/repaste/share.php与www.kaixin001.com/~repaste/repaste.php有何区别?感觉后者更好用的样子

    明河共影回复于 2010年11月25日 8:38

    应该是接口更新了,这个bug我记下了,下个版本更新。感谢 KEMO 的反馈!O(∩_∩)O

  20. 哈哈

    明河,这插件能在DEDE上使用吗,我研究半天,没法实现呀

    明河共影回复于 2010年12月04日 12:39

    你好,哈哈。你要在dede的主题上引入jquery、和jquery.shareList.js这二个文件,然后初始化插件。如果你依旧还不明白,可以加群110605767,可以找到我。

  21. chenyan

    好插件,但有个问题,我安装好以后怎么没有效果啊?

    明河共影回复于 2010年12月09日 10:49

    ?你好chenyan,我进入你的博客看了下,可以啊,我都看到分享列表了。给你一个建议,你的文章的固定链接要修改下,别使用中文哦,不利于SEO。

  22. qimox

    您好, 我安装了插件但是没有显示,没看到效果?能不能写个详细点 教程啊

    明河共影回复于 2010年12月10日 4:59

    请先启动插件,然后给我留言,我帮你排查。你那主题的确存在冲突的问题。

  23. 520Beta

    插件很好
    但我安装好后也没找到效果
    麻烦作者帮我看下
    谢谢

    明河共影回复于 2010年12月10日 5:02

    你好,520Beta,我已经帮你找到原因了,跟之前的一个朋友遇到的问题。请打开你主题的footer.php,插入。如果依旧有问题,请加群,可以找到我,我会及时帮你解决。

    520Beta回复于 2010年12月11日 7:40

    @明河共影, 打开主题的footer.php插入?插入到整个主题的底部?不是插入到文章的底部么?

  24. crazyandy

    我在启用插件时候提示插件的头部错误。请帮忙解决

    明河共影回复于 2010年12月12日 7:17

    插件的头部错误?我看了你的博客,没有js报错引入已经正确了。你可以使用手动插入初始化代码。方法详见http://www.36ria.com/2672

    crazyandy回复于 2010年12月12日 7:30

    @明河共影, 已经接近,非常感谢。我使用http://www.36ria.com/2672这里下的,本页面下的貌似不能用,刚刚特地又试了一遍

    明河共影回复于 2010年12月12日 7:18

    还有问题,可以加群,问我。谢谢反馈。

  25. likebeta

    楼主,你好,我安装了你的插件怎么什么效果都没有啊?没显示,麻烦楼主帮忙解答

  26. flying

    不知道算不算是一个bug,当网站WordPress 地址(URL) 中的url跟站点地址(URL)不一样的时候这个插件就不起作用了,总是显示加载中!令我郁闷了很久。

    明河共影回复于 2011年01月01日 11:56

    ……是的,存在跨域的问题。这个我会再想办法解决。

  27. 冰冰

    这个插件很不错 , 可是我使用时 效果不好 由于博客的背景是浅灰色的 插件的背景是白色 很不好看
    具体请看我的博客 http://www.fanbing.tk/2011-cosplay-acg-hrb.html 不知道能不能修改一下 我不想换主题

    明河共影回复于 2011年01月01日 6:16

    有办法解决的。是你的主题的li样式与插件冲突了,改成手动插入,你还可以去掉阴影。

    冰冰回复于 2011年01月07日 5:54

    @明河共影, 能否说的详细些 具体的插入代码 插入到我的主题哪个文件 single.php 是吗? 可是里面是 singular 是侧边栏 怎么插入到日志下面呀?

    明河共影回复于 2011年01月07日 6:04

    shareList是jquery插件哦,不是wordpress插件,你是问wordpress插件wp-share-list吗。手动插入,请插入到single.php

  28. applemi.net

    博客你好 这个插件很漂亮
    不过我想问另一个问题 你的快速注册页面是怎么调出来的呢?虽然后台我开放了注册 可是前台找不到啊 注册页面也不知道在哪里…. 希望博主指教

    明河共影回复于 2011年01月18日 4:11

    你好,这是需要自己制作的,给我个邮箱,我把代码发给你。然后你调下样式即可

  29. 囧啊囧

    效果很强大啊!不过我现在就想只加一个分享到QQ空间的

  30. lightao

    很强大的一个插件 我用在我的wordpress里 很好 我是初学者 从您这学到很多 非常感谢

  31. itelly

    站长你好
    请问你的文章后面的邮箱订阅,分享到,相关文章这些都是怎么实现的?
    我也想要这种效果
    还有,能否做个友情链接?

    明河共影回复于 2011年02月24日 9:54

    分享到请使用我写的wp-share-list,订阅和相关文章要自己写些代码到模板上。以后会有教程奉上,有不少朋友向我要了。友情链接目前只收前端博客的友链,抱歉。

  32. x1911

    非常棒,可惜就是要ajax,有不用ajax的版本提供就好了

  33. hit9

    不错。我饥渴的希望这个插件啊

  34. 淘宝网热卖

    这个插件不更新了吗?现在好像又出了很多分享站点!

    明河回复于 2011年04月14日 9:02

    更新的,编码中。不过这次更新主要是重构代码,新增站点要等到下二个版本。

  35. 淘宝网热卖

    另外现在的分享到搜狐微博,跳转到分享页面时,会文章名称会乱码。

  36. 黄老板

    非常感谢站长的插件。能否问下,我的网站经过了WP Super Cache静态化设置,我个人设置的固定链接。点击分享的时候,分享内容的标题都是我的url内容。如图所示http://imm.io/58gb 我想要把分享的标题变成文章的标题。可否?

  37. 帅帅

    很好 很强大

  38. 小东

    感谢明河这么好的插件,我用在我博客里了,非常棒 :wink:

  39. hosir

    如果想在主頁的每一篇文章下面顯示图标,需要怎樣做?

    明河回复于 2011年05月31日 9:28

    目前没有办法,现在在写新的版本,会支持。

  40. hosir

    如果想在主頁的每一篇文章下面顯示图标, 可以自行加入<?php if(function_exists('wp_share_list')) wp_share_list() ?>嗎?

    新的版本大概幾時會上線?

    謝謝

  41. Jason

    请问作者,为啥我安装不了呢?提示However, I couldn’t verify that it really is a plugin. Hmm.

    请教如何解决问题呢?谢谢!

  42. xpidea

    您好,升级到wordpress 3.3后分享按钮就用不了,期待更新呀! :!:

    明河回复于 2011年12月26日 11:29

    好!

  43. cugwyc

    添加到收藏夹无反应,Chrome 16弹出一个新标签打开当前页,IE 9弹出一个空白标签页。另外,有些图标不太形象(比如豆瓣的),能否提供修改图标间距功能,有的页面下间距过大显得不和谐。