PageSourceSearch

https://www.trainingsmoke.com/js/iwd/infinityscroll/topbutton.js

js trainingsmoke.com collected 2026-10-05 20:52:40 UTC 3,193 bytes, 60 lines download raw bytes

1;if(typeof(jQueryIWD) == "undefined"){if(typeof(jQuery) != "undefined") {jQueryIWD = jQuery;}} $ji = jQueryIWD;
2(function(b){b.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage","cursor"]};b.expr[":"].uncached=function(a){if(!b(a).is('img[src!=""]'))return!1;var c=new Image;c.src=a.src;return!c.complete};b.fn.waitForImages=function(a,c,d){var f=0,g=0;b.isPlainObject(a)&&(d=a.waitForAll,c=a.each,a=a.finished);a=a||b.noop;c=c||b.noop;d=!!d;if(!b.isFunction(a)||!b.isFunction(c))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var h=b(this),e=[],l=b.waitForImages.hasImageProperties||[],m=/url\(\s*(['"]?)(.*?)\1\s*\)/g;d?h.find("*").addBack().each(function(){var a=b(this);a.is("img:uncached")&&e.push({src:a.attr("src"),element:a[0]});b.each(l,function(b,c){var d=a.css(c),f;if(!d)return!0;for(;f=m.exec(d);)e.push({src:f[2],element:a[0]})})}):h.find("img:uncached").each(function(){e.push({src:this.src,element:this})});f=e.length;g=0;0===f&&a.call(h[0]);b.each(e,function(d,e){var k=new Image;b(k).on("load.waitForImages error.waitForImages",function(b){g++;c.call(e.element,g,f,"load"==b.type);if(g==f)return a.call(h[0]),!1});k.src=e.src})})}})(jQueryIWD);
3window.hasOwnProperty = function (obj) {return (this[obj]) ? true : false;};
4if (!window.hasOwnProperty('IWD')) {IWD = {};}
5
6IWD.TopButton = {
7    scrollPosition: 0,
8    topLink: null,
9    bottomTitle: '',
10    topTitle: '',
11
12    init: function () {
13        IWD.TopButton.topLink = $ji('#iwd_top_link');
14        IWD.TopButton.addUpButton();
15        IWD.TopButton.scroll();
16    },
17
18    //page scroll
19    scroll: function () {
20        $ji(window).scroll(function () {
21
22            if ($ji(window).scrollTop() >= 1) {
23                IWD.TopButton.topLink.attr('title',IWD.TopButton.topTitle);
24                IWD.TopButton.topLink.removeClass('bottom_button').addClass('top_button');
25                IWD.TopButton.topLink.css('display', 'block');
26            } else {
27                if (IWD.TopButton.scrollPosition != 0) {
28                    IWD.TopButton.topLink.attr('title',IWD.TopButton.bottomTitle);
29                    IWD.TopButton.topLink.removeClass('top_button').addClass('bottom_button');
30                } else {
31                    IWD.TopButton.topLink.css('display', 'none');
32                }
33            }
34
35        });
36    },
37
38    //add button "Go top"
39    addUpButton: function () {
40        IWD.TopButton.scrollPosition = $ji(window).scrollTop();
41
42        IWD.TopButton.topLink.click(function () {
43            iwdChangeHashFlag = false;
44            if ($ji(this).hasClass('bottom_button')) {
45                //to bottom
46                $ji("body,html").animate({scrollTop: IWD.TopButton.scrollPosition}
46, "slow", "linear", function(){iwdChangeHashFlag = true;});
47            } else {
48                //to top
49                $ji("body,html").animate({scrollTop: 0}, "slow", "linear", function(){iwdChangeHashFlag = true;});
50                IWD.TopButton.scrollPosition = $ji(window).scrollTop();
51            }
52
53            return false;
54        });
55    }
56};
57
58$ji(document).ready(function () {
59    IWD.TopButton.init();
60});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.