-
Notifications
You must be signed in to change notification settings - Fork 5
/
jquery-slowlane.min.js
1 lines (1 loc) · 4.82 KB
/
jquery-slowlane.min.js
1
(function($){$.fn.slowlane=function(options){options=typeof options==="object"?options:{};options.fontAwesome=typeof options.fontAwesome==="boolean"?options.fontAwesome:false;options.customFloater=typeof options.customFloater==="boolean"?options.customFloater:false;options.loadTime=typeof options.loadTime==="number"?options.loadTime:5e3;options.adFadeTime=typeof options.adFadeTime==="number"?options.adFadeTime:500;options.zIndex=typeof options.zIndex==="number"?options.zIndex:200;function killLoaders(){$("._slowlane-ad").each(function(index,element){$(element).fadeOut(function(){setTimeout(function(){$(element).remove()},1)})});$("._slowlane-loader").stop(true).each(function(index,element){setTimeout(function(){$(element).animate({height:element._slowlaneHeight+"px"},500,function(){$(this).css({overflow:"visible"})})},500*index)})}if(!options.customFloater){var close=options.fontAwesome?'<i id="_slowlane-floater-x" class="fa fa-close"></i>':'<a id="_slowlane-floater-x" class="_slowlane-text">Close</a>';var social=options.fontAwesome?'<a href="https://twitter.com/intent/tweet?via=tweetsfromhelp&text=Keep+the+internet+free+and+open+%40FCC+and+%40TomWheelerFCC&hashtags=netneutrality&url=http://battleforthenet.com/" class="fa fa-twitter-square" target="_blank"></a>'+'<a href="https://www.facebook.com/sharer/sharer.php?u=http://battleforthenet.com" class="fa fa-facebook-square" target="_blank"></a>'+'<a href="https://plus.google.com/share?url=http://battleforthenet.com" class="fa fa-google-plus-square" target="_blank"></a>'+'<a href="https://www.linkedin.com/shareArticle?mini=true&url=http://battleforthenet.com/&title=Don\'t%20Break%20the%20Internet&summary=Keep%20the%20internet%20free%20and%20open.%20Do%20your%20part%20to%20preserve%20Net%20Neutrality.&source=" class="fa fa-linkedin-square" target="_blank"></a>':'<a href="https://twitter.com/intent/tweet?via=tweetsfromhelp&text=Keep+the+internet+free+and+open+%40FCC+and+%40TomWheelerFCC&hashtags=netneutrality&url=http://battleforthenet.com" class="_slowlane-text" target="_blank">Twitter</a>'+'<a href="https://www.facebook.com/sharer/sharer.php?u=http://battleforthenet.com/" class="_slowlane-text" target="_blank">Facebook</a>'+'<a href="https://plus.google.com/share?url=http://battleforthenet.com/" class="_slowlane-text" target="_blank">Google+</a>'+'<a href="https://www.linkedin.com/shareArticle?mini=true&url=http://battleforthenet.com/&title=Don\'t%20Break%20the%20Internet&summary=Keep%20the%20internet%20free%20and%20open.%20Do%20your%20part%20to%20preserve%20Net%20Neutrality.&source=" class="_slowlane-text" target="_blank">LinkedIn</a>';var floater=$('<div id="_slowlane-floater">'+close+'<div id="_slowlane-floater-container">'+'<div id="_slowlane-floater-social">'+social+"</div>"+"<p><b>This is what the Internet could become if Net Neutrality is compromised.</b></p>"+'<p><a href="https://www.battleforthenet.com/" target="_blank">Express your opinion</a>, <a href="http://act2.freepress.net/letter/two_million/" target="_blank">e-mail Congress and the FCC</a>, and <a href="http://www.house.gov/representatives/find/" target="_blank">write to your local congressional representative</a>.</p>'+"</div>"+"</div>").hide();floater.css({zIndex:options.zIndex});$("body").append(floater.delay(1e3).fadeIn(1e3));$("#_slowlane-floater-x").click(killLoaders).click(function(){setTimeout(function(){$("#_slowlane-floater").fadeOut()},1)})}this.each(function(index,query){var element=$(query);element.css({visibility:"hidden"});function slowLoad(){var self=this;var element=$(self);self._slowlaneHeight=element.height();self._slowlaneId=index;if(element.prop("tagName")==="IMG"&&self._slowlaneHeight<=1){setTimeout(function(){slowLoad.call(self)},100)}else{var attributes={padding:element.css("padding"),margin:element.css("margin"),border:element.css("border"),classes:typeof element.attr("class")==="string"?element.attr("class"):""};element.removeClass().css({width:"100%",margin:0,padding:0,border:"0px solid #000",height:self._slowlaneHeight+"px"});var wrapper=element.wrap('<div class="_slowlane-wrapper '+attributes.classes+'"></div>').parent();wrapper.css({padding:attributes.padding,margin:attributes.margin,height:self._slowlaneHeight+"px"});var loader=element.wrap('<div class="_slowlane-loader"></div>').parent();loader[0]._slowlaneHeight=loader.height();loader.height("0").delay(options.loadTime*self._slowlaneId).animate({height:loader[0]._slowlaneHeight+"px"},options.loadTime,function(){$(this).css({overflow:"visible"});$(this).parent().find("> ._slowlane-ad").fadeOut(options.adFadeTime)});var icons=options.fontAwesome?'<i class="fa fa-spinner fa-spin"></i><i class="fa fa-rocket"></i>':"";var ad=$('<div class="_slowlane-ad">'+icons+" Buy Fast-Lane Access</div>").css({zIndex:options.zIndex-1});ad.click(killLoaders);wrapper.append(ad);element.css({visibility:"visible"})}}slowLoad.call(query)});return this}})(jQuery);