网上实现网站社交分享按钮的方法很多,有纯CSS3实现分享按钮的,也有HTML5/CSS3实现社会化分享按钮,这里分享一款基于jQuery的交互式分享按钮,通过鼠标点击分享即可横向展开全部社交网站相应的分享按钮。
share.js代码--部分社交接口自己测试修改
/* * @Author:bokequ * @Description: 社会化分享 * @url:http://www.bokequ.com/tag/social-share */ ; (function($, window, document, undefined) { //插件初始化 function init(target, options) { var settings = $.extend({}, $.fn.socialShare.defaults, options); //初始化各个组件 var $msb_main = "<a class='msb_main'><img title='分享' src='images/share_core_square.jpg'></a>"; var $social_group = "<div class='social_group'>" + "<a target='_blank' class='msb_network_button weixin'>weixin</a>" + "<a target='_blank' class='msb_network_button sina'>sina</a>" + "<a target='_blank' class='msb_network_button tQQ'>tQQ</a>" + "<a target='_blank' class='msb_network_button qZone'>qZone</a>" + "<a target='_blank' class='msb_network_button douban'>douban</a>" + "</div>"; $(target).append($msb_main); $(target).append($social_group); $(target).addClass("socialShare"); //添加腾讯微博分享事件 $(document).on("click",".msb_network_button.tQQ",function(){ tQQ(this,settings); }); //添加QQ空间分享事件 $(document).on("click",".msb_network_button.qZone",function(){ qZone(this,settings); }); //添加新浪微博分享事件 $(document).on("click",".msb_network_button.sina",function(){ sinaWeibo(this,settings); }); //添加豆瓣分享事件 $(document).on("click",".msb_network_button.douban",function(){ doubanShare(this,settings); }); //添加微信分享事件 $(document).on("click",".msb_network_button.weixin",function(){ weixinShare(this,settings); }); $(document).on("click",".msb_main",function(){ if ($(this).hasClass("disabled")) return; var e = 500;//动画时间 var t = 250;//延迟时间 var r = $(this).parent().find(".msb_network_button").length; //分享组件的个数 var i = 60; var s = e + (r - 1) * t; var o = 1; var a = $(this).outerWidth(); var f = $(this).outerHeight(); var c = $(this).parent().find(".msb_network_button:eq(0)").outerWidth(); var h = $(this).parent().find(".msb_network_button:eq(0)").outerHeight(); var p = (a - c) / 2; //起始位置 var d = (f - h) / 2; //起始位置 var v = 0 / 180 * Math.PI; if (!$(this).hasClass("active")) { $(this).addClass("disabled").delay(s).queue(function(e) { $(this).removeClass("disabled").addClass("active"); e() }); $(this).parent().find(".msb_network_button").each(function() { var n = p + (p + i * o) * Math.cos(v); //结束位置 var r = d + (d + i * o) * Math.sin(v); //结束位置 $(this).css({ display: "block", left: p + "px", top: d + "px" }).stop().delay(t * o).animate({ left: n + "px", top: r + "px" }, e); o++ }) } else { o = r; $(this).addClass("disabled").delay(s).queue(function(e) { $(this).removeClass("disabled").removeClass("active"); e() }); $(this).parent().find(".msb_network_button").each(function() { $(this).stop().delay(t * o).animate({ left: p, top: d }, e); o-- }) } }); } function replaceAPI (api,options) { api = api.replace('{url}', options.url); api = api.replace('{title}', options.title); api = api.replace('{content}', options.content); api = api.replace('{pic}', options.pic); return api; } function tQQ(target,options){ var options = $.extend({}, $.fn.socialShare.defaults, options); window.open(replaceAPI(tqq,options)); } function qZone(target,options){ var options = $.extend({}, $.fn.socialShare.defaults, options); window.open(replaceAPI(qzone,options)); } function sinaWeibo(target,options){ var options = $.extend({}, $.fn.socialShare.defaults, options); window.open(replaceAPI(sina,options)); } function doubanShare(target,options){ window.open(replaceAPI(douban,$.extend({},$.fn.socialShare.defaults,options))); } function weixinShare(target,options){ window.open(replaceAPI(weixin,$.extend({},$.fn.socialShare.defaults,options))); } $.fn.socialShare = function(options, param) { if(typeof options == 'string'){ var method = $.fn.socialShare.methods[options]; if(method) return method(this,param); }else init(this,options); } //插件默认参数 $.fn.socialShare.defaults = { url: window.location.href, title: document.title, content: '', pic: '' } //插件方法 $.fn.socialShare.methods = { //初始化方法 init:function(jq,options){ return jq.each(function(){ init(this,options); }); }, tQQ:function(jq,options){ return jq.each(function(){ tQQ(this,options); }) }, qZone:function(jq,options){ return jq.each(function(){ qZone(this,options); }) }, sinaWeibo:function(jq,options) { return jq.each(function(){ sinaWeibo(this,options); }); }, doubanShare:function(jq,options) { return jq.each(function(){ doubanShare(this,options); }); }, weixinShare:function(jq,options){ return jq.each(function(){ weixinShare(this,options); }); } } //分享地址 var qzone = 'http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={url}&title={title}&pics={pic}&summary={content}'; var sina = 'http://service.weibo.com/share/share.php?url={url}&title={title}&pic={pic}&searchPic=false'; var tqq = 'https://connect.qq.com/widget/shareqq/index.html?url={url}&showcount=0&desc={content}&summary=&title={title}&pics=&style=203&width=19&height=22'; var douban = 'http://www.douban.com/share/service?href={url}&name={title}&text={content}&image={pic}'; var weixin = 'http://www.bokequ.com/jita/images/jita.png'; })(jQuery, window, document);
share.css样式
@charset "utf-8"; .socialShare { display: block; width: 54px; height: 54px; position: relative; z-index: 1; } .socialShare .msb_main { display: block; width: 46px; height: 46px; position: absolute; top: 0; left: 0; z-index: 2; cursor: pointer; text-indent: -9999px; border: 4px solid #FFF; box-shadow: 0 0 5px #DDD; border-radius: 36px; } .socialShare .msb_main:hover { box-shadow: 0 0 5px #BBB; } .socialShare .msb_main img { width: 46px; height: 46px; cursor: pointer; border-radius: 23px; border: none; float: left } .socialShare .msb_network_button { width: 31px; height: 31px; position: absolute; top: 9px; left: 92px; z-index: 1; cursor: pointer; text-indent: -9999px; display: none; background: no-repeat; border: 6px solid #f5f5f5; border-radius: 50%; } .socialShare .msb_network_button.sina { background: url(../images/social.png) no-repeat -130px -87px; } .socialShare .msb_network_button.tQQ { background: url(../images/social.png) no-repeat -185px -20px; } .socialShare .msb_network_button.qZone { background: url(../images/social.png) no-repeat -73px -20px; } .socialShare .msb_network_button.douban { background: url(../images/social.png) no-repeat -130px -151px; } .socialShare .msb_network_button.weixin { background: url(../images/social.png) no-repeat -73px -87px; } .socialShare .msb_network_button:hover{transition: -moz-transform 2s ease-out 0s;border: 6px solid #eee;}
百度网盘下载链接: https://pan.baidu.com/s/1Fub599OnSjspoatzaUXU2A?pwd=ctqc 提取码: ctqc
密码本站域名
评论