• 分享到...插件


    可实现行内和侧边2种方式。

    var wmShare = (function(){
    return {
    //初始值
    skin : 'slide_black',
    url : encodeURIComponent(top.location.href),
    title : encodeURIComponent(top.document.title),
    pic : '',
    //获取参数方法
    getParameter : function(){
    var scripts = document.getElementsByTagName('script'),
    script = scripts[scripts.length - 1];
    return {
    share : script.getAttribute('share')
    }
    },
    //载入样式方法
    addStyle : function(skin){
    var style = document.createElement('link');
    style.setAttribute('type','text/css');
    style.setAttribute('rel', 'stylesheet');
    style.setAttribute('href','style/'+skin+'.css');
    document.getElementsByTagName('head')[0].appendChild(style);
    },
    //逐渐展开与收缩方法
    showShare : function(el, allW){
    var currentW = el.offsetWidth;
    function slideShow(){
    if(currentW < allW){
    currentW += 16;
    el.style.width = currentW + 'px';
    var setSlideShow = setTimeout(slideShow, 20);
    }else{
    el.style.width = allW + 'px';
    clearTimeout(setSlideShow);
    }
    }
    slideShow();
    },
    hideShare : function(el, btnW){
    var currentW = el.offsetWidth;
    function slideHide(){
    if(currentW > btnW){
    currentW -= 36;
    el.style.width = currentW + 'px';
    var setSlideHide = setTimeout(slideHide, 20);
    }else{
    el.style.width = btnW + 'px';
    clearTimeout(setSlideHide);
    }
    }
    slideHide();
    },
    //分享方法
    qqZone : function(url,title,pic){
    window.open('http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=' + url + '&title=' + title + '&pics=' + pic);
    },
    sinaT : function(url,title,pic){
    window.open('http://v.t.sina.com.cn/share/share.php?url=' + url + '&title=' + title + '&pic=' + pic);
    },
    qqT : function(url,title,pic){
    window.open('http://v.t.qq.com/share/share.php?url=' + url + '&title=' + title + '&pic=' + pic);
    },
    renren : function(url){
    window.open('http://share.renren.com/share/buttonshare.do?link=' + url);
    },
    kaixin : function(url,title){
    window.open('http://www.kaixin001.com/repaste/share.php?rtitle=' + title + '&rurl=' + url);
    },
    douban : function(url,title){
    window.open("http://www.douban.com/recommend/?url=" + url + "&title=" + title);
    },
    baiduT : function(url){
    window.open("http://tieba.baidu.com/i/app/open_share_api?link=" + url);
    },
    //加入收藏方法
    addFav : function(){
    var favUrl = top.location.href;
    var favName = top.document.title;
    try{window.external.AddFavorite(favUrl,favName);}
    catch(e){
    try{window.sidebar.addPanel(favName,favUrl,"");}
    catch(e){alert("使用快捷键 Ctrl+D 或 Cmd+D 来收藏此页!");}
    }
    }
    }
    })();
    //创建边栏side方法
    function createSlide(skin){
    wmShare.addStyle(skin);
    var btnW = 24, allW = 120, allH = 218;
    //创建内容
    var shareBox = document.createElement('div');
    shareBox.setAttribute('id','share_slide');
    shareBox.innerHTML = '<div id=\"share_slide_btn\"></div>\
    <div id=\"share_slide_cont\">\
    <div class=\"share_slide_title\">分享到</div>\
    <ul id=\"share_slide_ul\">\
    <li id=\"slide_qqZone\"><a href=\"javascript:wmShare.qqZone(wmShare.url, wmShare.title, wmShare.pic)\">QQ空间</a></li>\
    <li id=\"slide_sinaT\"><a href=\"javascript:wmShare.sinaT(wmShare.url, wmShare.title, wmShare.pic)\">新浪微博</a></li>\
    <li id=\"slide_qqT\"><a href=\"javascript:wmShare.qqT(wmShare.url, wmShare.title, wmShare.pic)\">腾讯微博</a></li>\
    <li id=\"slide_renren\"><a href=\"javascript:wmShare.renren(wmShare.url)\">人人网</a></li>\
    <li id=\"slide_kaixin\"><a href=\"javascript:wmShare.kaixin(wmShare.url, wmShare.title)\">开心网</a></li>\
    <li id=\"slide_douban\"><a href=\"javascript:wmShare.douban(wmShare.url, wmShare.title)\">豆瓣网</a></li>\
    <li id=\"slide_baiduT\"><a href=\"javascript:wmShare.baiduT(wmShare.url)\">百度贴吧</a></li>\
    </ul>\
    </div>';
    shareBox.style.width = btnW + 'px'
    document.getElementsByTagName('body')[0].appendChild(shareBox);
    //鼠标操作
    shareBox.onmouseover = function(){
    wmShare.showShare(shareBox, allW);
    }
    function getEvent(event){
    return event ? event : window.event;
    }
    document.onmousemove = function(event){
    event = getEvent(event);
    var eX = event.clientX,
    eY = event.clientY;
    if((document.documentElement.clientWidth - allW) > eX || (document.documentElement.clientHeight - allH)/2 > eY ||
    (document.documentElement.clientHeight + allH)/2 < eY){
    wmShare.hideShare(shareBox, btnW)
    }
    }
    }
    //行内line方法-短
    function createLineShort(){
    wmShare.addStyle('line');
    //创建页面
    var lineBox = document.getElementById('share_line');
    lineBox.innerHTML = '<ul class=\"share_line_ul clearfix\">\
    <li class=\"share_line_title\">分享到:</li>\
    <li><a class=\"share_line_qqZone\" href=\"javascript:wmShare.qqZone(wmShare.url, wmShare.title, wmShare.pic)\" title=\"分享到QQ空间\">QQ空间</a></li>\
    <li><a class=\"share_line_sinaT\" href=\"javascript:wmShare.sinaT(wmShare.url, wmShare.title, wmShare.pic)\" title=\"分享到新浪微博\">新浪微博</a></li>\
    <li><a class=\"share_line_qqT\" href=\"javascript:wmShare.qqT(wmShare.url, wmShare.title, wmShare.pic)\" title=\"分享到腾讯微博\">腾讯微博</a></li>\
    <li><a class=\"share_line_renren\" href=\"javascript:wmShare.renren(wmShare.url)\" title=\"分享到人人网\">人人网</a></li>\
    <li><a class=\"share_line_kaixin\" href=\"javascript:wmShare.kaixin(wmShare.url, wmShare.title)\" title=\"分享到开心网\">开心网</a></li>\
    <li><a class=\"share_line_douban\" href=\"javascript:wmShare.douban(wmShare.url, wmShare.title)\" title=\"分享到豆瓣网\">豆瓣网</a></li>\
    <li><a class=\"share_line_baiduT\" href=\"javascript:wmShare.baiduT(wmShare.url)\" title=\"分享到百度贴吧\">百度贴吧</a></li>\
    </ul>';
    }
    //行内长
    function createLineLong(){
    wmShare.addStyle('line');
    var lineBox = document.getElementById('share_line');
    lineBox.innerHTML = '<ul class=\"share_line_ul floatL clearfix\">\
    <li class=\"share_line_title\">分享到:</li>\
    <li><a class=\"share_line_qqZone\" href=\"javascript:wmShare.qqZone(wmShare.url, wmShare.title, wmShare.pic)\" title=\"分享到QQ空间\">QQ空间</a></li>\
    <li><a class=\"share_line_sinaT\" href=\"javascript:wmShare.sinaT(wmShare.url, wmShare.title, wmShare.pic)\" title=\"分享到新浪微博\">新浪微博</a></li>\
    <li><a class=\"share_line_qqT\" href=\"javascript:wmShare.qqT(wmShare.url, wmShare.title, wmShare.pic)\" title=\"分享到腾讯微博\">腾讯微博</a></li>\
    <li><a class=\"share_line_renren\" href=\"javascript:wmShare.renren(wmShare.url)\" title=\"分享到人人网\">人人网</a></li>\
    <li><a class=\"share_line_kaixin\" href=\"javascript:wmShare.kaixin(wmShare.url, wmShare.title)\" title=\"分享到开心网\">开心网</a></li>\
    <li><a class=\"share_line_douban\" href=\"javascript:wmShare.douban(wmShare.url, wmShare.title)\" title=\"分享到豆瓣网\">豆瓣网</a></li>\
    <li><a class=\"share_line_baiduT\" href=\"javascript:wmShare.baiduT(wmShare.url)\" title=\"分享到百度贴吧\">百度贴吧</a></li>\
    </ul>\
    <div id=\"fav_box\">|<span onclick=\"wmShare.addFav()\">添加到收藏夹</span>|</div>\
    <p id=\"jieshi\">本活动最终解释权归完美世界(北京)网络技术有限公司所有</p>';
    }
    if(wmShare.getParameter().share == null){
    createSlide(wmShare.skin);
    }else{
    var shareObject = eval('('+wmShare.getParameter().share+')');
    wmShare.skin = shareObject.skin || wmShare.skin;
    wmShare.url = shareObject.url || wmShare.url;
    wmShare.title = shareObject.title || wmShare.title;
    wmShare.pic = shareObject.pic || wmShare.pic;
    if(shareObject.type == undefined || shareObject.type == 'slide'){
    createSlide(wmShare.skin);
    }
    if(shareObject.type == 'lineShort'){
    createLineShort();
    }
    if(shareObject.type == 'lineLong'){
    createLineLong();
    }
    }

    1、边栏模式slide

    调用方法:<script type="text/javascript" src="http://www.wanmei.com/public/js/wmshare.js"></script>

    2、行内模式(长)用于专题底部

    <script type="text/javascript" src="http://www.wanmei.com/public/js/wmshare.js" share="{type:'lineLong'}"></script>

    3、行内模式(短)用于专题顶部或中部,新闻内页等

    <script type="text/javascript" src="http://www.wanmei.com/public/js/wmshare.js" share="{type:'lineShort'}"></script>

    【参数详细说明】

    share参数对象的属性:

    外观属性

    type:'slide || lineLong || lineShort'(选择边栏和行内分享)
    skin:'slide_black || slide_green'(改变边栏样式,可加多个样式)

    分享转贴属性

    url:分享哪个网址,默认为top.location.href,一般时候用不到,基本都用默认值。<script type="text/javascript" src="http://www.wanmei.com/public/js/wmshare.js" share="{url:'http://www.wanmei.com'}"></script>

    title:分享标题,默认为top.document.title(人人和百度贴吧不支持此参数,取的是url的title)。<script type="text/javascript" src="http://www.wanmei.com/public/js/wmshare.js" share="{title:'我是标题'}"></script>

    pic:分享的缩略图(腾讯和新浪支持,由于新浪只支持一个传图片,故此参数传一个图片地址)<script type="text/javascript" src="http://www.wanmei.com/public/js/wmshare.js" share="{'pic:'http://www.wanmei.com/public/images/logo/wulin2/wulin23.png'}"></script>

    边栏模式slide

    如果选择了边栏模式,就可以使用另一个样式参数skin:
    <script type="text/javascript" src="http://www.wanmei.com/public/js/wmshare.js" share="{type:'slide',skin:'slide_green'}"></script>,其中type:'slide'可以省略。通过样式表可以改变“分享”按钮的背景图和分享框颜色、背景图等样式,目前就写了2个样式slide_black(默认)和slide_green。

  • 相关阅读:
    鼠标的移动触发函数改变字体颜色
    Godaddy创始人:成就亿万富翁的10条规则
    关于编程,大学没有传授的十件事
    Using XAMPP for Local WordPress Theme Development
    100+ Resources for Web Developer
    你必须非常努力,才能看起来毫不费力
    建立WordPress博客网站——个人教程
    函数指针和指针函数
    每天写出好代码的5个建议
    LumiSoft Mail Server
  • 原文地址:https://www.cnblogs.com/bianyuan/p/2356480.html
Copyright © 2020-2023  润新知