CSS3分享功能

[代码][CSS]代码  
$.fn.share = function(opts) {
  var $body, $head;
  if ($(this).length === 0) {
    console.log("Share Button: No elements found.");
    return;
  }
  $head = $(‘head‘);
  $body = $(‘body‘);
  return $(this).each(function(i, el) {
    var $sharer, bubble, bubbles, click_link, close, config, open, parent, paths, protocol, set_opt, toggle,
      _this = this;
    $sharer = $(this);
    $sharer.addClass("sharer-" + i);
    $sharer.hide();
    if (opts == null) {
      opts = {};
    }
    config = {};
    config.url = opts.url || window.location.href;
    config.text = opts.text || $(‘meta[name=description]‘).attr(‘content‘) || ‘‘;
    config.app_id = opts.app_id;
    config.title = opts.title;
    config.image = opts.image;
    config.flyout = opts.flyout || ‘top center‘;
    config.button_color = opts.color || ‘#333‘;
    config.button_background = opts.background || ‘#e1e1e1‘;
    config.button_icon = opts.icon || ‘export‘;
    config.button_text = typeof opts.button_text === ‘string‘ ? opts.button_text : ‘Share‘;
    set_opt = function(base, ext) {
      if (opts[base]) {
        return opts[base][ext] || config[ext];
      } else {
        return config[ext];
      }
    };
    config.twitter_url = set_opt(‘twitter‘, ‘url‘);
    config.twitter_text = set_opt(‘twitter‘, ‘text‘);
    config.fb_url = set_opt(‘facebook‘, ‘url‘);
    config.fb_title = set_opt(‘facebook‘, ‘title‘);
    config.fb_caption = set_opt(‘facebook‘, ‘caption‘);
    config.fb_text = set_opt(‘facebook‘, ‘text‘);
    config.fb_image = set_opt(‘facebook‘, ‘image‘);
    config.gplus_url = set_opt(‘gplus‘, ‘url‘);
    config.selector = "." + ($sharer.attr(‘class‘).split(" ").join("."));
    config.twitter_text = encodeURIComponent(config.twitter_text);
    if (typeof config.app_id === ‘integer‘) {
      config.app_id = config.app_id.toString();
    }
    if (!$(‘link[href="http://weloveiconfonts.com/api/?family=entypo"]‘).length) {
      $("<link />").attr({
        rel: "stylesheet",
        href: "http://weloveiconfonts.com/api/?family=entypo"
      }).appendTo($("head"));
    }
    if (!$(‘link[href="http://fonts.googleapis.com/css?family=Lato:900"]‘).length) {
      $("<link />").attr({
        rel: "stylesheet",
        href: "http://fonts.googleapis.com/css?family=Lato:900"
      }).appendTo($("head"));
    }http://www.huiyi8.com/yanjiangzhici/?
    if (!$("meta[name=‘sharer" + config.selector + "‘]").length) {
      $(‘head‘).append(getStyles(config)).append("<meta name=‘sharer" + config.selector + "‘>");
    }演讲致辞
    $(this).html("<label class=‘entypo-" + config.button_icon + "‘><span>" + config.button_text + "</span></label><div class=‘social " + config.flyout + "‘><ul><li class=‘entypo-twitter‘ data-network=‘twitter‘></li><li class=‘entypo-facebook‘ data-network=‘facebook‘></li><li class=‘entypo-gplus‘ data-network=‘gplus‘></li></ul></div>");
    if (!window.FB && config.app_id && ($(‘#fb-root‘).length === 0)) {
      protocol = [‘http‘, ‘https‘].indexOf(window.location.href.split(‘:‘)[0]) === -1 ? ‘https://‘ : ‘//‘;
      $body.append("<div id=‘fb-root‘></div><script>(function(a,b,c){var d,e=a.getElementsByTagName(b)[0];a.getElementById(c)||(d=a.createElement(b),d.id=c,d.src=‘" + protocol + "connect.facebook.net/en_US/all.js#xfbml=1&appId=" + config.app_id + "‘,e.parentNode.insertBefore(d,e))})(document,‘script‘,‘facebook-jssdk‘);</script>");
    }
    paths = {
      twitter: "http://twitter.com/intent/tweet?text=" + config.twitter_text + "&url=" + config.twitter_url,
      facebook: "https://www.facebook.com/sharer/sharer.php?u=" + config.fb_url,
      gplus: "https://plus.google.com/share?url=" + config.gplus_url
    };
    parent = $sharer.parent();
    bubbles = parent.find(".social");
    bubble = parent.find("" + config.selector + " .social");
    toggle = function(e) {
      e.stopPropagation();
      return bubble.toggleClass(‘active‘);
    };
    open = function() {
      return bubble.addClass(‘active‘);
    };
    close = function() {
      return bubble.removeClass(‘active‘);
    };
    click_link = function() {
      var link, popup;
      link = paths[$(this).data(‘network‘)];
      if (($(this).data(‘network‘) === ‘facebook‘) && config.app_id) {
        if (!window.FB) {
          console.log("The Facebook JS SDK hasn‘t loaded yet.");
          return;
        }
        window.FB.ui({
          method: ‘feed‘,
          name: config.fb_title,
          link: config.fb_url,
          picture: config.fb_image,
          caption: config.fb_caption,
          description: config.fb_text
        });
      } else {
        popup = {
          width: 500,
          height: 350
        };
        popup.top = (screen.height / 2) - (popup.height / 2);
        popup.left = (screen.width / 2) - (popup.width / 2);
        window.open(link, ‘targetWindow‘, "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,left=" + popup.left + ",top=" + popup.top + ",width=" + popup.width + ",height=" + popup.height);
      }
      return false;
    };
    $sharer.find(‘label‘).on(‘click‘, toggle);
    $sharer.find(‘li‘).on(‘click‘, click_link);
    $body.on(‘click‘, function() {
      return bubbles.removeClass(‘active‘);
    });
    setTimeout((function() {
      return $sharer.show();
    }), 250);
    return {
      toggle: toggle.bind(this),
      open: open.bind(this),
      close: close.bind(this),
      options: config,
      self: this
    };
  });
};
}.call(this)

时间: 2024-10-07 00:33:31

CSS3分享功能的相关文章

9款经典华丽的CSS3分享按钮

如果你经常活跃在一些社交网站上,那么你肯定会看到过很多形式各异的分享按钮,目前由于HTML5和CSS3的普及,很多分享按钮也都应用了CSS3样式,甚至会有很多带有动画的CSS3分享按钮.本文就向大家介绍了9款经典华丽的CSS3分享按钮,以及它们的源代码,希望能给各位开发者带来一定的帮助. 1.jQuery/CSS3实现超酷的分享按钮 今天要分享的这款分享按钮是基于CSS和jQuery的,按钮比较大,非常大气. 在线演示 源码下载 2.jQuery交互式分享按钮 可横向展开 这次要给大家介绍一款基

在Unity3D项目中接入ShareSDK实现安卓平台微信分享功能(可使用ShareSDK默认UI或自定义UI)

最近公司的大厅要重做,我协助主程一起制作新大厅和新框架,前面制作的编辑器也派上了用场.等全部功能做完后我会再写一个复盘,这两天主程在忙于写热更新的功能,所以把接入分享SDK功能的任务交给了我,ShareSDK官网的文档比较分散,而且关于Unity的文档比较简略,所以还是有不少的坑.写篇博客分享一下,并加强理解记忆. 第一步,先去ShareSDK的官网下载最新版本的ShareSDK(完全免费).地址:http://www.mob.com/ 我们选择ShareSDK For Unity3D,页面会直

Web 项目中分享到微博、QQ空间等分享功能

网上有很多的模板以及代码,但是有很多都不能分享内容,简单的测试了下: 以新浪微博为例,文本框中的内容是title属性,下面的链接是url属性,如果你的链接页面有图片,会自动抓取图片让你选择,因此,当你自己写分享功能时需要你传递title和url属性到接口链接即可. 代码如下: 1 <script> 2 function buttonShare(url){ 3 $("#theForm").attr("action",url); 4 $("#the

在Android中如何实现分享功能

Android应用中能很方便的完成这些功能,很多的应用中都有"分享"功能?如何分享呢?下面给大家说说看.最近有人问到Android分享功能用那个比较好,使用Android开发自带的Intent来进行分享还是借助第三方呢,直接上代码: 一.使用Intent直接和第三方应用进行通信: /** * 分享功能 * * @param context *            上下文 * @param activityTitle *            Activity的名字 * @param

实现邮件分享功能

private void sendMail(){ Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("message/rfc822"); intent.putExtra(Intent.EXTRA_SUBJECT,"邮件标题"); intent.putExtra(Intent.EXTRA_TEXT, "邮件正文内容" + "\n"+"分享自--

微信的分享功能(针对web手机站页面进行的分享功能)

把这段js粘贴进,设置可以分享的页面,当微信打开,即可微信进行分享各个圈 $(function(){ var lujing=$("#logimg").attr("src");  //分享中带有的图片 var url=window.location.href;         //分享页的地址 var title=document.title;             //分享内容的标题 weixin("http://m.e-iot.com/images/b

实现分享功能插件2---jiathis分享插件应用

博主原创:未经博主允许,不得转载 在上一篇的博文中分享了如何用百度分享插件实现分享功能,现在展示用jiathis进行实现分享功能: 主要代码如下: <body> <div class="jiathis_style_32x32"> <a class="jiathis_button_qzone"></a> <a class="jiathis_button_tsina"></a>

Android APP代码拨打电话、打开手机分享功能等隐式意图

Android APP拨打电话: Intent intent=new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+110)); startActivity(intent); } Android APP打开电话薄: Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_URI); startActivity(intent); Android

android 分享功能

上一篇讲了android第三方登录,这一篇大概说一下分享.需要注意几点: 1.登录和分享功能都必须是签名之后的apk,才能用 2.再吐槽一下,微信SDK做的真他妈的变态,和登录一样,必须是例如我的apk,包名(也就是AndroidManifest.xml中的包名)是com.kingdowin.gosu,你项目中必须有一个包名是com.kingdowin.gosu.wxapi,下面有一个类是WXEntryActivity.java,里面写登录或分享以及获得返回响应结果(public void on