|
/* |
|
* JumboShare jQuery Social Share Buttons |
|
* @package StudioPlayer |
|
* @link https://github.com/mycodingtricks/jumboShare |
|
*/ |
|
(function($){ |
|
$.fn.jumboShare = function( options ) { |
|
var cssId = 'fontawesomeCss'; // you could encode the css path itself to generate id.. |
|
if (!document.getElementById(cssId)) |
|
{ |
|
var head = document.getElementsByTagName('head')[0]; |
|
var link = document.createElement('link'); |
|
link.id = cssId; |
|
link.rel = 'stylesheet'; |
|
link.type = 'text/css'; |
|
link.href = 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css'; |
|
link.media = 'all'; |
|
head.appendChild(link); |
|
} |
|
var rand = Math.floor((Math.random() * 1000) + 1); |
|
var settings = $.extend({ |
|
// These are the defaults. |
|
url:window.location.href, |
|
text:document.title, |
|
twitterUsername:"rainastudio", |
|
id: rand, |
|
total: 0, |
|
position: 'append' //append|prepend |
|
}, options ); |
|
// Greenify the collection based on the settings variable. |
|
this.each(function(){ |
|
var elem = $(this); |
|
switch(settings.position){ |
|
case 'append': |
|
elem.append(init()); |
|
break; |
|
default: |
|
elem.prepend(init()); |
|
break; |
|
} |
|
$.getScript("//assets.pinterest.com/js/pinit.js"); |
|
getCount(); |
|
}); |
|
function init(){ |
|
var code = "<div class='mct_jumboShare' id='jumboShare_"+settings.id+"'>"+ |
|
"<div class='mct_jumboShare_container'>"+ |
|
"<div class='mct_jumboShare_counter' id='jumboShare_counter_"+settings.id+"'>"+ |
|
"0"+ |
|
"</div>"+ |
|
"<div class='mct_jumboShare_buttons' id='jumboShare_buttons_"+settings.id+"'>"+ |
|
"<a target=_blank rel=nofollow href='https://www.facebook.com/sharer.php?u="+encodeURIComponent(settings.url)+"&t="+encodeURI(settings.text)+"' class='jumboShare_btn facebook'><span class='jumboShare_btn_text'><span class='fa fa-facebook'></span><span class='ct_text'>Share</span></span></a>"+ |
|
"<a target=_blank rel=nofollow href='https://twitter.com/intent/tweet?via="+settings.twitterUsername+"&url="+encodeURIComponent(settings.url)+"&text="+encodeURI(settings.text)+"' class='jumboShare_btn twitter'><span class='jumboShare_btn_text'><span class='fa fa-twitter'></span><span class='ct_text'>Tweet</span></span></a>"+ |
|
"<a target=_blank rel=nofollow href='https://plus.google.com/share?url="+encodeURIComponent(settings.url)+"' class='jumboShare_btn google'><sapn class='jumboShare_btn_text'><span class='fa fa-google-plus'></span><span class='ct_text'>Share</span></span></a>"+ |
|
"<a target=_blank rel=nofollow href='https://www.linkedin.com/cws/share?token&isFramed=false&url="+encodeURIComponent(settings.url)+"' class='jumboShare_btn linkedin'><span class='jumboShare_btn_text'><span class='fa fa-linkedin'></span><span class='ct_text'>Share</span></span></a>"+ |
|
"<a rel=nofollow href='https://www.pinterest.com/pin/create/button' data-pin-custom='true' data-pin-do='buttonBookmark' class='jumboShare_btn pinterest'><sapn class='jumboShare_btn_text'><span class='fa fa-pinterest'></span><span class='ct_text'>Pin It</span></span></a>"+ |
|
"<a target=_blank rel=nofollow href='https://buffer.com/add?url="+encodeURIComponent(settings.url)+"&text="+encodeURIComponent(settings.text)+"' class='jumboShare_btn buffer'><span class='jumboShare_btn_text'><span class='fa fa-buffer'></span><span class='ct_text'>Buffer</span></span></a>"+ |
|
"</div></div>"; |
|
return code; |
|
} |
|
function convertNumber(n){ |
|
if(n>=1000000000) return (n/1000000000).toFixed(1)+'G'; |
|
if(n>=1000000) return (n/1000000).toFixed(1)+'M'; |
|
if(n>=1000) return (n/1000).toFixed(1)+'K'; |
|
return n; |
|
} |
|
function add(n){ |
|
settings.total = settings.total+n; |
|
} |
|
function updateCounter(){ |
|
$("#jumboShare_counter_"+settings.id).html(convertNumber(settings.total)+"<br><span class='total-text'>Shares</span>").fadeIn(); |
|
} |
|
function getCount(){ |
|
var $this = this; |
|
$.getJSON('https://count.donreach.com/?url='+encodeURIComponent(settings.url)+'&callback=?',function(d){ |
|
add(d.total); |
|
updateCounter(); |
|
}); |
|
$.getJSON("https://api.bufferapp.com/1/links/shares.json?callback=?&url="+encodeURIComponent(settings.url),function(data){ |
|
add(data.shares); |
|
updateCounter(); |
|
}); |
|
} |
|
return this; |
|
}; |
|
|
|
}(jQuery)); |