Now live: Food & Drink category at Apple App Store - latimes.com
';
shareDiv.innerHTML = templateHTML;
/* append the new div to the end of the document, which is hidden already with CSS */
document.body.appendChild(shareDiv);
/* Store the div in both a regular JavaScript variable and as a jQuery object so we can reference them faster later */
var shareTip = document.getElementById('shareTip'),
$shareTip = $('#shareTip');
/* This extends our settings object with any user-defined settings passed to the function and returns the jQuery object shareTip
was called on */
return this.each(function() {
if (options) {
$.extend(settings, options);
}
/* This is a hack to make sure the shareTip always fades back to 100% opacity */
var checkOpacity = function (){
if ( $shareTip.css('opacity') !== 1 ){
$shareTip.css({'opacity': 1});
}
};
/* Function that replaces the HTML in the shareTip with the template we defined at the top */
/* It will wipe/reset the links on the social media buttons each time the function is called */
var removeLinks = function (){
shareTip.innerHTML = templateHTML;
};
/* This is the function that makes the links for the Tweet / Share functionality */
var makeURLS = function (link, message){
/* Here we construct the Tweet URL using an array, with values passed to the function */
var tweetConstruct = [
'http://twitter.com/share?url=', link, '&text=', message, '&via=', settings.twitter_account
],
/* Then join the array into one chunk of HTML */
tweetURL = tweetConstruct.join(''),
/* Same story for Facebook */
fbConstruct = [
'http://www.facebook.com/sharer.php?u=', link, '&src=sp'
],
fbURL = fbConstruct.join(''),
newHTML = [
'' ], shareHTML = newHTML.join(''); /* Load in our new HTML */ shareTip.innerHTML = shareHTML; }; /* Since the shareTip will automatically fade out when the user mouses out of an element */ /* we have to specifically tell the shareTip we want it to stay put when the user mouses over it */ /* This effectively gives the user a 500 ms (or whatever) window to mouse */ /* from the element to the shareTip to prevent it from popping out */ $shareTip.hover(function(){ $shareTip.stop(true, true); $shareTip.show(); checkOpacity(); }, function(){ $(this).fadeOut(settings.speed); }); /* This function handles the hover action */ $(this).hover(function(){ /* remove the old links, so someone doesn't accidentally click on them */ removeLinks(); /* If there's already an animation running on the shareTip, stop it */ $shareTip.stop(true, true); var eso = $(this), message, /* Store the width and height of the shareTip and the offset of the element for our calculations */ height = eso.height(), width = eso.width(), offset = eso.offset(), link; link = eso.children('a').attr('href'); message = escape( eso.children('h3').children('a').text() ) || eso.attr(settings.message_attr); if (link.search('http://') === -1){ link = 'http://www.latimes.com' + link; } link = encodeURIComponent(link); /* The first div is smaller, so we need to compensate for that. */ if (eso.index()
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.