PageSourceSearch

https://ec.toranoana.jp/ec/files/contentfiles/scrollBannerInsert.js?date=20261001193913

js toranoana.jp collected 2026-10-01 10:40:36 UTC 25,961 bytes, 663 lines download raw bytes

1///////////////////////////////////////////////////////////////////////////////
2////////////////////////////////// scrollBanner ///////////////////////////////
3///////////////////////////////////////////////////////////////////////////////
4
5var scrollBannerContainerList = {};
6var scrollBannerInsert = function (){
7  var brand = location.pathname.split('/')[1];
8  var getList = [];
9  if(location.origin == 'https://ecs.toranoana.jp' || location.origin == 'https://ec.toranoana.jp'){
10    $('.scrollBannerInsert').each(function(idx, elem){
11      tmpElem = $(elem);
12      getList[idx] = {
13                       'url': tmpElem.attr('data-path') + tmpElem.attr('data-filename') + '.js',
14                       'callback': tmpElem.attr('data-callback')
15                     };
16    });
17  }else{
18    $('.scrollBannerInsert').each(function(idx, elem){
19      tmpElem = $(elem);
20      getList[idx] = {
21                       'url': tmpElem.attr('data-path') + tmpElem.attr('data-filename') + '-stg.js',
22                       'callback': tmpElem.attr('data-callback')
23                     };
24    });
25  }
26
27  for(var i=0; i < getList.length; i++){
28    var getjson = $.ajax({
29        url: getList[i].url,
30        type: 'GET',
31        async: true,
32        dataType: 'jsonp',
33        cache: false,
34        jsonpCallback: getList[i].callback,
35        timeout: 10000
36    });
37    getjson.fail(function(){
38      console.log('Cannot load banner list.');
39    });
40    getjson.done(function(data) {
41      var list = data.bannerList;
42      var targetSelector = $(data.targetClass);
43      list = iscBannerShuffle(list);
44
45      var bannerLabel = "";
46
47      switch (data.targetClass) {
48        case '.banner-cot':
49          bannerLabel = "同人オススメ";
50          break;
51        case '.banner-bok':
52          bannerLabel = "書籍オススメ";
53          break;
54        case '.banner-hob':
55          bannerLabel = "ホビーオススメ";
56          break;
57        case '.banner-mcd':
58          bannerLabel = "音楽オススメ";
59          break;
60        case '.banner-mdv':
61          bannerLabel = "映像・ゲームオススメ";
62          break;
63        case '.monopoly':
64          bannerLabel = "専売作品";
65          break;
66        case '.feature':
67          bannerLabel = "注目作品";
68          break;
69        case '.topics':
70          bannerLabel = "注目トピックス";
71          break;
72        case '.slick':
73          bannerLabel = "トップ大バナー";
74          break;
75        case '.banner-dns':
76          bannerLabel = "電子書籍オススメ";
77          break;
78        case '.banner-mpc':
79          bannerLabel = "ゲームオススメ";
80          break;
81        default:
82          bannerLabel = "(未分類)";
83      }
84
85      if(data.sizeLarge){
86        if(navigator.userAgent.indexOf('iPhone') == -1 && navigator.userAgent.indexOf('Android') == -1 ){
87          // スマホ表示以外の大バナーは横スクロールにする
88          sideScrollBanner(data, list, bannerLabel, urlCategoryCode, targetSelector);
89          return;
90        }
91      }
92
93      var urlCategoryCode = "TOP ";
94      if(settings.urlCategoryCode != null){
95        urlCategoryCode = settings.urlCategoryCode + " ";
96      }
97
98      var insertHtml = '';
99      insertHtml += '<div class="showmorelist item-8">'
100
101      $(Object.keys(list)).each(function(j, val){
102
103        // ブランド情報が存在しないページで、jsonに定義されている遷移先URLが相対パスの場合、これをフルパスに変える
104        if(settings.urlBrandCode === null){
105           if(list[j].link.indexOf("tora/") === 0 || list[j].link.indexOf("joshi/") === 0 || list[j].link.indexOf("tora_d/") === 0 || list[j].link.indexOf("joshi_d/") === 0 || list[j].link.indexOf("aqua/") === 0){
106              list[j].link = "https://ecs.toranoana.jp/" + list[j].link;
107           }
108           else if(list[j].link.indexOf("/tora/") === 0 || list[j].link.indexOf("/joshi/") === 0 || list[j].link.indexOf("/tora_d/") === 0 || list[j].link.indexOf("/joshi_d/") === 0 || list[j].link.indexOf("/aqua/") === 0){
109              list[j].link = "https://ecs.toranoana.jp" + list[j].link;
110           }
111           else if(list[j].link.indexOf("tora_r/") === 0 || list[j].link.indexOf("joshi_r/") === 0 || list[j].link.indexOf("tora_rd/") === 0 || list[j].link.indexOf("joshi_rd/") === 0 || list[j].link.indexOf("aqua_r/") === 0){
112              list[j].link = "https://ec.toranoana.jp/" + list[j].link;
113           }
114           else if(list[j].link.indexOf("/tora_r/") === 0 || list[j].link.indexOf("/joshi_r/") === 0 || list[j].link.indexOf("/tora_rd/") === 0 || list[j].link.indexOf("/joshi_rd/") === 0 || list[j].link.indexOf("/aqua_r/") === 0){
115              list[j].link = "https://ec.toranoana.jp" + list[j].link;
116           }
117        }
118
119        var gtagHtml = "gtag('event', '" + bannerLabel + "', {'event_category': '" + settings.urlBrandCode + " " + urlCategoryCode + "バナークリック数', 'event_label': '" + list[j].alt + "'});";
120        insertHtml += '<div>';
121        insertHtml += '  <a style="text-decoration: none;" href="' + list[j].link + '" onclick="' + gtagHtml + '">';
122        insertHtml += '    <img src="/ec/files/commonfiles/images/dummy_banner_mini.jpg" class="showmoreLazy" showmore-lazy="' + list[j].img + '" alt="' + list[j].alt + '">';
123        if(list[j].text.length){
124          insertHtml += '    <div style="text-align: center;"><span class="banner_text">' + list[j].text + '</span></div>';
125        }
126        insertHtml += '  </a>';
127        insertHtml += '</div>';
128      });
129
130      insertHtml += '</div>';
131      insertHtml += '<div class="showmore_closed"><span>もっと見る!</span></div>';
132
133      targetSelector.html(insertHtml);
134
135      $(data.targetClass + ' img:first-of-type').imagesLoaded(function(){
136        targetSelector.showmoreContents({
137          'closeHeight' : data.closeHeight
138        });
139      });
140    });
141  }
142
143  var sideScrollBanner = function(data, list, bannerLabel, urlCategoryCode, targetSelector){
144    var insertHtml = '';
145    insertHtml += '<div class="banner-parent" data-maxrow="' + data.maxRow + '">';
146    $(Object.keys(list)).each(function(j, val){
147
148      var alt_text  = list[j].alt;
149      alt_text  = alt_text.replace("30", " 30");
150       var gtagHtml = "gtag('event', '" + bannerLabel + "', {'event_category': '" + settings.urlBrandCode + " " + urlCategoryCode + "バナークリック数', 'event_label': '" + list[j].alt + "'});";
151      insertHtml += '<div class="banner-elem banner-elem--large">';
152      insertHtml += '  <a href="' + list[j].link + '" onclick="' + gtagHtml + '">';
153      insertHtml += '    <div class="banner-img"><img src="/ec/files/commonfiles/images/dummy_banner_mini.jpg" class="iscBannerLazy" data-iscbannerlazy="' + list[j].img + '" alt="' + list[j].alt + '"></div>';
154      if(list[j].over){
155        insertHtml += '    <div class="banner-over"><img src="https://cdn-contents.toranoana.jp/ec/img/dummy-transparent.png" class="iscBannerLazy" data-iscbannerlazy="' + list[j].over + '" alt="' + list[j].alt + '"></div>';
156      }
157      if(list[j].text.length){
158        insertHtml += '    <span>' + list[j].text + '</span>';
159      }
160      insertHtml += '  </a>';
161      insertHtml += '</div>';
162    });
163    insertHtml += '</div>';
164
165    insertHtml += '<div class="iscButton iscPrevButton"></div>';
166    insertHtml += '<div class="iscButton iscNextButton"></div>';
167
168    targetSelector.html(insertHtml);
169
170    var targetParent = targetSelector.children('.banner-parent');
171    var targetElem = targetParent.children('.banner-elem');
172
173    var maxRow = targetParent.attr('data-maxrow');
174    if (window.matchMedia('(max-width:766px)').matches){ maxRow = Math.max(maxRow - 1, 1); }
175    targetElem.imagesLoaded(function(){
176      var bannerWidth = parseFloat(targetElem.css('width')) + parseFloat(targetElem.css('margin-left')) + parseFloat(targetElem.css('margin-right'));
177      var bannerHeight = parseFloat(targetElem.css('height')) + parseFloat(targetElem.css('margin-top')) + parseFloat(targetElem.css('margin-bottom')) + parseFloat(targetElem.css('padding-bottom'));
178
179
180      for(var rowCount = maxRow; (bannerWidth * Math.ceil( targetElem.length / rowCount) < targetSelector.width()) && (rowCount > 1); rowCount--){}
181      var widthCount = Math.ceil( list.length / rowCount);
182      targetParent.css({
183        "width" : bannerWidth * widthCount,
184        "height": bannerHeight * rowCount
185      });
186
187      if(targetSelector.length){
188        var iscClick = true;
189        var iscTap = true;
190        var iscPassthrough = false;
191        var iscpreventDefault = true;
192        if (navigator.userAgent.indexOf('Android') > 0){
193          iscClick = false;
194          iscTap = false;
195          iscPassthrough = true;
196          iscpreventDefault = false;
197        }
198        scrollBannerContainerList[data.targetClass] = new IScroll(data.targetClass, {
199                                                  deceleration: 0.004,
200                                                  probeType: 1,
201                                                  scrollbars: true,
202                                                  interactiveScrollbars: true,
203                                                  scrollX: true,
204                                                  scrollY: false,
205                                                  click: iscClick,
206                                                  tap: iscTap,
207                                                  eventPassthrough: iscPassthrough,
208                                                  preventDefault: iscpreventDefault
209                                                });
210        if ($(data.targetClass + ' .iScrollIndicator').css('display') == 'none'){
211          $(data.targetClass + ' .iscButton').addClass('iscButtonHide');
212        }else{
213          $(data.targetClass + ' .iscButton').removeClass('iscButtonHide');
214        }
215        scrollBannerContainerList[data.targetClass].on('scrollStart', function(){
216        });
217        scrollBannerContainerList[data.targetClass].on('scroll', function(){
218          iscBannerLazyFunc();
219        });
220        scrollBannerContainerList[data.targetClass].on('scrollEnd', function(){
221          iscBannerLazyFunc();
222          iscButtonCheck(scrollBannerContainerList[data.targetClass], data.targetClass, $(data.targetClass).width() - $(data.targetClass + ' .banner-parent').width());
223        });
224        $(data.targetClass + ' .iscPrevButton').on('mousedown touchstart pointerdown', function(){
225          iscScrollHold(true, scrollBannerContainerList[data.targetClass], 12.5, 0, $(this).parent().width() - $(this).prevAll('.banner-parent').width());
226        });
227        $(data.targetClass + ' .iscPrevButton').on('mouseup touchend pointerup pointerleave touchleave mouseleave touchcancel', function(){
228          iscScrollHold(false);
229          iscBannerLazyFunc();
230          iscButtonCheck(scrollBannerContainerList[data.targetClass], data.targetClass, $(this).parent().width() - $(this).prevAll('.banner-parent').width());
231        });
232        $(data.targetClass + ' .iscNextButton').on('mousedown touchstart pointerdown', function(){
233          iscScrollHold(true, scrollBannerContainerList[data.targetClass], -12.5, 0, $(this).parent().width() - $(this).prevAll('.banner-parent').width());
234        });
235        $(data.targetClass + ' .iscNextButton').on('mouseup touchend pointerup pointerleave touchleave mouseleave touchcancel', function(){
236          iscScrollHold(false);
237          iscBannerLazyFunc();
238          iscButtonCheck(scrollBannerContainerList[data.targetClass], data.targetClass, $(this).parent().width() - $(this).prevAll('.banner-parent').width());
239        });
240      }
241      iscBannerImgArray[ data.targetClass ] = {
242        'ibParent' : targetSelector,
243        'ibArray'  : targetSelector.find('.banner-elem img'),
244        'ibAttr'   : 'data-iscbannerlazy',
245        'ibClass'  : 'iscBannerLazy',
246        'ibOffset' : '300' //px
247      };
248      iscBannerLazyFunc();
249      iscButtonCheck(scrollBannerContainerList[data.targetClass], data.targetClass, $(data.targetClass).width() - $(data.targetClass + ' .banner-parent').width());
250    });
251    $(window).resizeend(function(){
252      Object.keys(scrollBannerContainerList).forEach(function(key){
253        var targetSelector = $(key);
254
255        var targetParent = targetSelector.children('.banner-parent');
256        var targetElem = targetParent.children('.banner-elem');
257
258        var maxRow = targetParent.attr('data-maxrow');
259        if (window.matchMedia('(max-width:766px)').matches){ maxRow = Math.max(maxRow - 1, 1); }
260
261        var bannerWidth = parseFloat(targetElem.css('width')) + parseFloat(targetElem.css('margin-left')) + parseFloat(targetElem.css('margin-right'));
262        var bannerHeight = parseFloat(targetElem.css('height')) + parseFloat(targetElem.css('margin-top')) + parseFloat(targetElem.css('margin-bottom'));
263
264        for(
265        var rowCount = maxRow; (bannerWidth * Math.ceil( targetElem.length / rowCount) < targetSelector.width()) && (rowCount > 1); rowCount--){}
266        targetParent.css({
267          "width" : bannerWidth * Math.ceil( targetElem.length / rowCount),
268          "height": bannerHeight * rowCount
269        }, 500);
270        this[key].refresh();
271        if ($(key + ' .iScrollIndicator').css('display') == 'none'){
272          $(key + ' .iscButton').addClass('iscButtonHide');
273        }else{
274          $(key + ' .iscButton').removeClass('iscButtonHide');
275        }
276        iscButtonCheck(this[key], key, targetSelector.width() - targetParent.width());
277      }, scrollBannerContainerList);
278      iscBannerLazyFunc();
279    });
280  }
281
282  var iscBannerShuffle = function(array){
283    var primaryList = array.filter(function(item, index){
284      if (item.primary === true) return true;
285    });
286    var shuffleList = array.filter(function(item, index){
287      if (item.primary === false) return true;
288    });
289
290    for(var i = shuffleList.length - 1; i > 0; i--){
291      var r = Math.floor(Math.random() * (i + 1));
292      var tmp = shuffleList[i];
293      shuffleList[i] = shuffleList[r];
294      shuffleList[r] = tmp;
295    }
296
297    return primaryList.concat(shuffleList);
298  }
299}
300
301// ScrollHold
302var scrollHoldFlg = false;
303var scrollHoldiscObj;
304var scrollHoldX = 0;
305var scrollHoldY = 0;
306var scrollHoldTimer = 0;
307var scrollHoldWidth = 0;
308function iscScrollHold(scrollFlg, iscObj, xVal, yVal, iscWidth){
309  scrollHoldFlg = scrollFlg;
310  scrollHoldiscObj = iscObj;
311  scrollHoldX = xVal;
312  scrollHoldY = yVal;
313  scrollHoldWidth = iscWidth;
314}
315function iscScrollHoldInterval(){
316  if(scrollHoldFlg){
317    scrollHoldiscObj.scrollBy(scrollHoldX, scrollHoldY);
318    scrollHoldTimer++;
319    if(scrollHoldiscObj.x >= 0){
320      scrollHoldiscObj.scrollTo(0, 0);
321      scrollHoldTimer = 0;
322      scrollHoldFlg = false;
323    }else if(scrollHoldiscObj.x <= scrollHoldWidth){
324      scrollHoldiscObj.scrollTo(scrollHoldWidth, 0);
325      scrollHoldTimer = 0;
326      scrollHoldFlg = false;
327    }
328  }else{
329    scrollHoldTimer = 0;
330  }
331  if(scrollHoldTimer >= 30){
332    iscBannerLazyFunc();
333    scrollHoldTimer = 0;
334  }
335}
336
337// Lazy
338var iscBannerImgArray = {};
339var iscBannerScroll;
340var iscBannerLazyFunc = function (){
341    Object.keys(scrollBannerContainerList).forEach(function(idx) {
342      var myArray = iscBannerImgArray[idx].ibArray;
343      var myAttr = iscBannerImgArray[idx].ibAttr;
344      var myClass = iscBannerImgArray[idx].ibClass;
345      var myParent = iscBannerImgArray[idx].ibParent;
346      var myMargin = parseFloat(iscBannerImgArray[idx].ibOffset);
347
348      for(var i=0; i < Object.keys(myArray).length; i++) {
349        var mySelector = $(myArray[i]);
350        if(mySelector.length){
351          var mySelector = $(myArray[i]);
352          if( (mySelector.offset().top <= window.pageYOffset + document.documentElement.clientHeight + myMargin) && (mySelector.offset().left <= myParent.offset().left + myParent.width() + myMargin) && (mySelector.offset().top <= myParent.offset().top + myParent.height())){
353            if($(myArray[i]).attr('src')!==$(myArray[i]).attr(myAttr)){
354              mySelector.attr('src', $(myArray[i]).attr(myAttr));
355              mySelector.removeClass(myClass);
356            }
357          }
358        }
359      }
360    });
361}
362
363///////////////////////////////////////////////////////////////////////////////
364////////////////////////////////// scrollSquare ///////////////////////////////
365///////////////////////////////////////////////////////////////////////////////
366
367var scrollSquareContainerList = {};
368var scrollSquareInsert = function (){
369  var brand = location.pathname.split('/')[1];
370  var getList = [];
371  if(location.origin == 'https://ecs.toranoana.jp' || location.origin == 'https://ec.toranoana.jp'){
372    $('.scrollSquareInsert').each(function(idx, elem){
373      tmpElem = $(elem);
374      getList[idx] = {
375                       'url': tmpElem.attr('data-path') + tmpElem.attr('data-filename') + '.js',
376                       'callback': tmpElem.attr('data-callback')
377                     };
378    });
379  }else{
380    $('.scrollSquareInsert').each(function(idx, elem){
381      tmpElem = $(elem);
382      getList[idx] = {
383                       'url': tmpElem.attr('data-path') + tmpElem.attr('data-filename') + '-stg.js',
384                       'callback': tmpElem.attr('data-callback')
385                     };
386    });
387  }
388
389  for(var i=0; i < getList.length; i++){
390    var getjson = $.ajax({
391        url: getList[i].url,
392        type: 'GET',
393        async: true,
394        dataType: 'jsonp',
395        cache: false,
396        jsonpCallback: getList[i].callback,
397        timeout: 10000
398    });
399    getjson.fail(function(){
400      console.log('Cannot load banner list.');
401    });
402    getjson.done(function(data) {
403      var list = data.bannerList;
404      var targetSelector = $(data.targetClass);
405      list = iscSquareShuffle(list);
406
407      var bannerLabel = "";
408      switch (data.targetClass) {
409        case '.banner-cot':
410          bannerLabel = "同人オススメ";
411          break;
412        case '.banner-bok':
413          bannerLabel = "書籍オススメ";
414          break;
415        case '.banner-hob':
416          bannerLabel = "ホビーオススメ";
417          break;
418        case '.banner-mcd':
419          bannerLabel = "音楽オススメ";
420          break;
421        case '.banner-mdv':
422          bannerLabel = "映像・ゲームオススメ";
423          break;
424        case '.monopoly':
425          bannerLabel = "専売作品";
426          break;
427        case '.feature':
428          bannerLabel = "注目作品";
429          break;
430        case '.topics':
431          bannerLabel = "注目トピックス";
432          break;
433        case '.slick':
434          bannerLabel = "トップ大バナー";
435          break;
436        case '.banner-dns':
437          bannerLabel = "電子書籍オススメ";
438          break;
439        case '.banner-mpc':
440          bannerLabel = "ゲームオススメ";
441          break;
442        case '.banner-mdvr':
443          bannerLabel = "映像オススメ(成人向)";
444          break;
445        default:
446         bannerLabel = "(未分類)";
447      }
448
449      var urlCategoryCode = "TOP ";
450      if(settings.urlCategoryCode != null){
451        urlCategoryCode = settings.urlCategoryCode + " ";
452      }
453
454      var insertHtml = '';
455      insertHtml += '<div class="showmorelist item-8">';
456
457      $(Object.keys(list)).each(function(j, val){
458
459        var frameClass = '';
460         switch(list[j].mark){
461           case 'とら特典':
462             frameClass = 'lazyload frame_tokuten';
463             break;
464           case 'とら限定':
465             frameClass = 'lazyload frame_gentei';
466             break;
467           default:
468             frameClass = 'frame_def';
469             break;
470         }
471        var gtagHtml = "gtag('event', '" + bannerLabel + "', {'event_category': '" + settings.urlBrandCode + " " + urlCategoryCode + "バナークリック数', 'event_label': '" + list[j].alt + "'});";
472        insertHtml += '<div style="height:200px; position: relative; text-align: center;">';
473        insertHtml += '  <a style="text-decoration: none;" href="' + list[j].link + '" onclick="' + gtagHtml + '">';
474        insertHtml += '    <img style="width: auto;" class="scroll_square_img_banner showmoreLazy" src="/ec/files/commonfiles/images/dummy_banner_mini.jpg" showmore-lazy="' + list[j].img + '">';
475        if(list[j].text.length){
476          insertHtml += '    <div class="scroll_square_banner_text">' + list[j].text + '</div>';
477        }
478        insertHtml += '    <div class="'+ frameClass +'"></div>';
479        insertHtml += '  </a>';
480        insertHtml += '</div>';
481      });
482
483      insertHtml += '</div>';
484      insertHtml += '<div class="showmore_closed"><span>もっと見る!</span></div>';
485
486      targetSelector.html(insertHtml);
487
488      $(data.targetClass + ' img:first-of-type').imagesLoaded(function(){
489        targetSelector.showmoreContents({
490          'closeHeight' : data.closeHeight
491        });
492      });
493    });
494  }
495
496  var iscSquareShuffle = function(array){
497    var primaryList = array.filter(function(item, index){
498      if (item.primary === true) return true;
499    });
500    var shuffleList = array.filter(function(item, index){
501      if (item.primary === false) return true;
502    });
503
504    for(var i = shuffleList.length - 1; i > 0; i--){
505      var r = Math.floor(Math.random() * (i + 1));
506      var tmp = shuffleList[i];
507      shuffleList[i] = shuffleList[r];
508      shuffleList[r] = tmp;
509    }
510
511    return primaryList.concat(shuffleList);
512  }
513}
514
515// ScrollHold
516var scrollSqHoldFlg = false;
517var scrollSqHoldiscObj;
518var scrollSqHoldX = 0;
519var scrollSqHoldY = 0;
520var scrollSqHoldTimer = 0;
521var scrollSqHoldWidth = 0;
522function iscScrollSqHold(scrollFlg, iscObj, xVal, yVal, iscWidth){
523  scrollSqHoldFlg = scrollFlg;
524  scrollSqHoldiscObj = iscObj;
525  scrollSqHoldX = xVal;
526  scrollSqHoldY = yVal;
527  scrollSqHoldWidth = iscWidth;
528}
529function iscScrollSqHoldInterval(){
530  if(scrollSqHoldFlg){
531    scrollSqHoldiscObj.scrollBy(scrollSqHoldX, scrollSqHoldY);
532    scrollSqHoldTimer++;
533    if(scrollSqHoldiscObj.x >= 0){
534      scrollSqHoldiscObj.scrollTo(0, 0);
535      scrollSqHoldTimer = 0;
536      scrollSqHoldFlg = false;
537    }else if(scrollSqHoldiscObj.x <= scrollSqHoldWidth){
538      scrollSqHoldiscObj.scrollTo(scrollSqHoldWidth, 0);
539      scrollSqHoldTimer = 0;
540      scrollSqHoldFlg = false;
541    }
542  }else{
543    scrollSqHoldTimer = 0;
544  }
545  if(scrollSqHoldTimer >= 30){
546    iscSquareLazyFunc();
547    scrollSqHoldTimer = 0;
548  }
549}
550
551// Lazy
552var iscSquareImgArray = {};
553var iscSquareScroll;
554var iscSquareLazyFunc = function (){
555    Object.keys(scrollSquareContainerList).forEach(function(idx) {
556      var myArray = iscSquareImgArray[idx].ibArray;
557      var myAttr = iscSquareImgArray[idx].ibAttr;
558      var myClass = iscSquareImgArray[idx].ibClass;
559      var myParent = iscSquareImgArray[idx].ibParent;
560      var myMargin = parseFloat(iscSquareImgArray[idx].ibOffset);
561
562      for(var i=0; i < Object.keys(myArray).length; i++) {
563        var mySelector = $(myArray[i]);
564        if(mySelector.length){
565          var mySelector = $(myArray[i]);
566          if( (mySelector.offset().top <= window.pageYOffset + document.documentElement.clientHeight + myMargin) && (mySelector.offset().left <= myParent.offset().left + myParent.width() + myMargin) && (mySelector.offset().top <= myParent.offset().top + myParent.height())){
567            mySelector.css({'background-image': 'url(' + $(myArray[i]).attr(myAttr) + ')'});
568            mySelector.removeClass(myClass);
569          }
570        }
571      }
572    });
573}
574
575/*
576$(function(){
577  scrollSquareInsert();
578  setInterval(iscScrollSqHoldInterval, 1000 / 60);
579  window.addEventListener('scroll', function () {
580    if ( iscSquareScroll ) return;
581    iscSquareScroll = setTimeout( function () {
582      iscSquareScroll = 0;
583      iscSquareLazyFunc();
584    }, 500 ) ;
585  } ) ;
586*/
587
588///////////////////////////////////////////////////////////////////////////////
589//////////////////////////////////// general //////////////////////////////////
590///////////////////////////////////////////////////////////////////////////////
591
592// Button Disable
593var iscButtonCheck = function (iscObj, iscParent, iscWidth){
594  if(iscObj.x >= 0){
595    $(iscParent + ' .iscPrevButton').addClass('iscButtonHide');
596  }else{
597    $(iscParent + ' .iscPrevButton').removeClass('iscButtonHide');
598  }
599  if(iscObj.x <= iscWidth){
600    $(iscParent + ' .iscNextButton').addClass('iscButtonHide');
601  }else{
602    $(iscParent + ' .iscNextButton').removeClass('iscButtonHide');
603  }
604}
605
606$(function(){
607  var bannerImagesLoaded = function(targetClass) {
608    var targetSelector = $(targetClass);
609    $(targetClass + " img:first-of-type").imagesLoaded(function () {
610      targetSelector.showmoreContents({
611        closeHeight: 2.3
612      });
613    });
614  }
615
616  scrollBannerInsert();
617  setInterval(iscScrollHoldInterval, 1000 / 60);
618  window.addEventListener('scroll', function () {
619    if ( iscBannerScroll ) return;
620    iscBannerScroll = setTimeout( function () {
621      iscBannerScroll = 0;
622      iscBannerLazyFunc();
623    }, 500 ) ;
624  } ) ;
625
626  scrollSquareInsert();
627  setInterval(iscScrollSqHoldInterval, 1000 / 60);
628  window.addEventListener('scroll', function () {
629    if ( iscSquareScroll ) return;
630    iscSquareScroll = setTimeout( function () {
631      iscSquareScroll = 0;
632      iscSquareLazyFunc();
633    }, 500 ) ;
634  } ) ;
635
636  if($('.genre').length){
637    bannerImagesLoaded('.genre');
638  }
639  if($('.standard').length){
640    bannerImagesLoaded('.standard');
641  }
642  if($('.topics').length){
643    bannerImagesLoaded('.topics');
644  }
645  if($('.banner-cot').length){
646    bannerImagesLoaded('.banner-cot');
647  }
648  if($('.category-top-banner').length){
649    bannerImagesLoaded('.category-top-banner');
650  }
651  if($('.feature_banner').length){
652    bannerImagesLoaded('.feature_banner');
653  }
654  if($('.monopoly_banner').length){
655    bannerImagesLoaded('.monopoly_banner');
656  }
657  if($('.recommend_bok').length){
658    bannerImagesLoaded('.recommend_bok');
659  }
660  if($('.pickup').length){
661    bannerImagesLoaded('.pickup');
662  }
663});

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.