1var $ = jQuery.noConflict(); 2 3var mgk_infinite_scroll=mgkisr_scoll_vars.infinite_scroll; 4is_shop = mgkisr_scoll_vars.is_shop 5 6var opts = { 7 8 nextSelector : mgkisr_scoll_vars.next_selector, 9 navSelector : mgkisr_scoll_vars.nav_selector, 10 itemSelector : mgkisr_scoll_vars.item_selector, 11 itemclass : mgkisr_scoll_vars.item_class, 12 contentSelector: mgkisr_scoll_vars.content_selector, 13 loader : mgkisr_scoll_vars.loader_image, 14 is_shop : mgkisr_scoll_vars.is_shop 15 16}; 17 18 19if(mgk_infinite_scroll==1 && is_shop) 20{ 21 var loading = false; 22 var finished = false; 23 var desturl = $( opts.nextSelector).attr( 'href' ); // init next url 24 25 26 27 if( $( opts.nextSelector ).length && $( opts.navSelector ).length && $( opts.itemSelector ).length && $( opts.contentSelector ).length ) { 28 $( opts.navSelector ).hide(); 29 } 30 else { 31 32 finished = true; 33 } 34 35 var first_elem = $( opts.contentSelector ).find( opts.itemSelector ).first(), 36
37 columns= $( opts.contentSelector ).find( opts.itemSelector+" last").eq(); 38 39 40 var mgkisr_main_ajax = function () { 41 42 43 var last_elem = $( opts.contentSelector ).find( opts.itemSelector ).last(); 44 45 if( opts.loader ) 46 $( opts.contentSelector ).after( '<div class="magik-infi-loader"><img src="' + opts.loader + '"></div>' ); 47 loading = true; 48 49 desturl = decodeURIComponent(desturl); 50 desturl = desturl.replace(/^(?:\/\/|[^\/]+)*\//, "/"); 51 52 53 $.ajax({ 54 55 url : desturl, 56 dataType : 'html', 57 cache : false, 58 success : function (data) { 59 60 61 var obj = $( data), 62 elem = obj.find( ".products "+opts.itemSelector ), 63 next = obj.find( opts.nextSelector ), 64 current_url = desturl; 65 66 67 if( next.length ) { 68 desturl = next.attr( 'href' ); 69 } 70 else { 71 72 finished = true; 73 74 } 75 76 77 var wooloop = 0; 78 79 elem.each(function () { 80 81 var t = $(this); 82 83 84 85 t.removeClass(t.attr('class')); 86 87 88 if(wooloop%columns==1) 89 { 90 pgrid='wide-first'; 91 } 92 else if(wooloop%columns==0) 93 { 94 pgrid='last'; 95 } 96 else 97 { 98 pgrid=''; 99 100 } 101 102 t.addClass(opts.itemclass+" "+pgrid); 103 wooloop++; 104 105 }); 106 107 108 last_elem.after( elem ); 109 110 111 112 113 if (typeof grid_list_load !== 'undefined' && $.isFunction(grid_list_load)) { 114 grid_list_load(); 115 } 116 $('.magik-infi-loader').remove(); 117 118 119 setTimeout( function(){ 120 loading = false; 121 122 }, 100 ); 123 124 } 125 }); 126 }; 127 128 129 130 131 // set event 132 $( window ).on( 'scroll touchstart', function (){ 133 $(this).trigger('mgkisr_scroll_start'); 134 }); 135 136 $( window ).on( 'mgkisr_scroll_start', function(){ 137 var t = $(this), 138 elem = $( opts.itemSelector ).last(); 139 140 if( typeof elem == 'undefined' ) { 141 return; 142 } 143 144 if ( ! loading && ! finished && ( t.scrollTop() + t.height() ) >= ( elem.offset().top + elem.height() ) ) { 145 mgkisr_main_ajax(); 146 } 147 }) 148 149 150 }
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.