PageSourceSearch

https://with-house.jp/js/index.js

js with-house.jp collected 2026-10-06 07:58:57 UTC 30,922 bytes, 877 lines download raw bytes

1/*
2・2023 フルリニューアル改修版
3・ロンド標準形式にて対応
4*/
5
6Common.do(function () {
7  //↓↓↓↓↓ここへ記述して下さい↓↓↓↓↓
8  //フェードスライダモジュール
9  (function () {
10    var slideModules = document.querySelectorAll(
11      "[data-slidephotofade]:not([data-slidephotofade-ok])"
12    );
13    for (var i = 0; i < slideModules.length; i++) {
14      (function (element) {
15        element.setAttribute("data-slidephotofade-ok", "");
16        var setSlide = function () {
17          //最低限の設定
18          var slidearea = element.querySelector(".slidephotofade_content"),
19            slides = element.querySelectorAll(".slidephotofade_link"),
20            length = slides.length - 1,
21            now = 0;
22
23          //スライドの速さ
24          var speed = 1.0,
25            ease = "cubic-bezier(0.445, 0.050, 0.550, 0.950)",
26            transitionValue =
27              "opacity " +
28              speed +
29              "s " +
30              ease +
31              ", -webkit-clip-path " +
32              speed +
33              "s " +
34              ease +
35              ", clip-path " +
36              speed +
37              "s " +
38              ease;
39
40          //前へ・次へボタン
41          var prev = element.querySelector(".prev"),
42            next = element.querySelector(".next");
43
44          //自動切換え
45          var loop,
46            loopDur = 6000;
47
48          //ページング
49          var pager = element.querySelector(".slidephotofade_pager"),
50            pagers;
51
52          var imgpager = element.querySelector(".slidephotofade_imgpager"),
53            imgpagers = element.querySelectorAll(
54              ".slidephotofade_imgpager_btn"
55            );
56
57          //カウンター
58          var counter = element.querySelector(".slidephotofade_count"),
59            counterTotal,
60            counterNow,
61            counterZeroPadding;
62
63          //ループをセット
64          var setLoop = function () {
65            clearInterval(loop);
66            loop = setInterval(loopFunc, loopDur);
67          };
68
69          //ループを解除
70          var removeLoop = function () {
71            clearInterval(loop);
72          };
73
74          (function (i) {
75            //スライドに番号を付与
76            for (i = 0; i <= length; i = 0 | (i + 1)) {
77              slides[i].setAttribute("data-slide-num", i);
78              slides[i].style.transition = transitionValue;
79            }
80
81            //ページングを生成
82            if (pager) {
83              for (i = 0; i <= length; i = 0 | (i + 1)) {
84                var li = document.createElement("button");
85                li.setAttribute("data-slide-num", i);
86                li.addEventListener("click", function (e) {
87                  var value = ~~e.currentTarget.getAttribute("data-slide-num");
88                  var arrow = value < now ? "prev" : "next";
89                  changeFunc(value, arrow);
90
91                  //ループ
92                  setLoop();
93                });
94                pager.appendChild(li);
95              }
96              pagers = pager.children;
97            }
98
99            //画像のページング
100            if (imgpager) {
101              for (i = 0; i <= length; i = 0 | (i + 1)) {
102                var li = imgpagers[i];
103                li.setAttribute("data-slide-num", i);
104                li.addEventListener("click", function (e) {
105                  //loop
106                  setLoop();
107                  var arrow = "next";
108                  if (~~e.currentTarget.getAttribute("data-slide-num") < now)
109                    arrow = "prev";
110                  changeFunc(
111                    ~~e.currentTarget.getAttribute("data-slide-num"),
112                    arrow
113                  );
114                });
115              }
116            }
117          })();
118
119          if (counter) {
120            counterNow = element.querySelector(".slidephotofade_count_now");
121            counterTotal = element.querySelector(".slidephotofade_count_total");
122            if (counterTotal && counterNow) {
123              if (slides.length < 100) {
124                counterZeroPadding = function (val) {
125                  return ("00" + val).slice(-2);
126                };
127              } else {
128                counterZeroPadding = function (val) {
129                  return ("000" + val).slice(-3);
130                };
131              }
132              counterNow.innerText = counterZeroPadding(1);
133              counterTotal.innerText = counterZeroPadding(length + 1);
134            } else {
135              if (!counterTotal) {
136                console.error(".slidephotofade_count_now という要素が無い");
137              }
138              if (!counterNow) {
139                console.error(".slidephotofade_count_total という要素が無い");
140              }
141            }
142          }
143
144          //prev
145          var prevFunc = function () {
146            var val = -1 + now;
147            if (val < 0) val = length;
148            changeFunc(val, "prev");
149
150            //ループ
151            setLoop();
152          };
153          if (prev) prev.addEventListener("click", prevFunc);
154
155          //next
156          var nextFunc = function () {
157            var val = +1 + now;
158            if (length < val) val = 0;
159            changeFunc(val, "next");
160
161            //ループ
162            setLoop();
163          };
164          if (next) next.addEventListener("click", nextFunc);
165
166          //スライドエリアが見えたときに自動切換え・フリックの
166処理を有効にする
167          Common.inview(
168            element,
169            function () {
170              setLoop();
171            },
172            function () {
173              removeLoop();
174            }
175          );
176
177          //ループ処理
178          var loopFunc = function () {
179            nextFunc();
180          };
181
182          //スライドの処理
183          var timeoutID01, timeoutID02, timeoutID03, timeoutID04;
184          var changeFunc = function (num, arrow, target, targetP) {
185            //フリック時のスピード調整
186            var time = speed * 1000;
187
188            //スライド一時無効化
189            element.style.pointerEvents = "none";
190
191            //スライド実行
192            for (var i = 0; i <= length; i++) {
193              if (now != i || num != i) {
194                slides[i].style.zIndex = 1;
195              }
196            }
197            slides[now].style.zIndex = 2;
198            slides[num].style.zIndex = 3;
199            clearTimeout(timeoutID01);
200            clearTimeout(timeoutID02);
201            clearTimeout(timeoutID03);
202            clearTimeout(timeoutID04);
203            timeoutID01 = setTimeout(function () {
204              slides[num].addClass("active");
205              timeoutID02 = setTimeout(function () {
206                slides.addClass("disableTrs");
207                timeoutID03 = setTimeout(function () {
208                  slides.removeClass("active");
209                  slides[num].addClass("active");
210                  timeoutID04 = setTimeout(function () {
211                    slides.removeClass("disableTrs");
212
213                    //スライド一時無効化
214                    element.style.pointerEvents = "auto";
215                  }, 33);
216                }, 33);
217              }, time);
218            }, 33);
219
220            //pager 切り替え
221            if (pager) {
222              target = pagers[num];
223              pagers.removeClass("active");
224              target.addClass("active");
225            }
226            //pager 切り替え
227            if (imgpager) {
228              target = imgpagers[num];
229              imgpagers.removeClass("active");
230              target.addClass("active");
231            }
232
233            //カウンター
234            if (counter) {
235              counterNow.innerText = counterZeroPadding(num + 1);
236            }
237
238            //値保存
239            now = ~~num;
240          };
241          changeFunc(0);
242        };
243        var loadfile = element.querySelector("[data-lf]");
244        if (loadfile) {
245          var loadfilearea = loadfile.closest("[data-lf-area]");
246          if (~~loadfilearea.getAttribute("data-lf-area") == 1) {
247            setSlide();
248          } else {
249            loadfilearea.addEventListener(
250              "loadfileComplete",
251              function loadfileComplete() {
252                setSlide();
253                this.removeEventListener("loadfileComplete", loadfileComplete);
254              }
255            );
256          }
257        } else {
258          setSlide();
259        }
260      })(slideModules[i]);
261    }
262  })();
263
264  //スライダーモジュール
265  (function () {
266    var inview =
267      "IntersectionObserver" in window
268        ? function (target, enter, leave, rootMargin) {
269            var targets;
270            if (typeof target == "string") {
271              targets = document.querySelectorAll(target);
272            } else if (target.length) {
273              targets = target;
274            } else {
275              targets = [];
276              targets.push(target);
277            }
278            for (var i = 0; i < targets.length; i++) {
279              (function (target) {
280                if (leave) {
281                  var first = true;
282                  var triggered = false;
283                  new IntersectionObserver(
284                    function (entries, observer) {
285                      var flg = false;
286                      for (var h = 0; h < entries.length; h++) {
287                        if (entries[h].isIntersecting) {
288                          //見えた
289                          flg = true;
290                        }
291                      }
292                      if (flg === true && (triggered === false || first)) {
293                        triggered = true;
294                        enter(entries[0].target);
295                      } else if (
296                        flg === false &&
297                        (triggered === true || first)
298                      ) {
299                        triggered = false;
300                        leave(entries[0].target);
301                      }
302                      first = false;
303                    },
304                    {
305                      threshold: [0.0, 0.25, 0.5, 0.75, 1.0],
306                      rootMargin:
307                        rootMargin == "0px" ||
308                        rootMargin == "0" ||
309                        rootMargin === null ||
310                        rootMargin === undefined
311                          ? "0px"
312                          : Common.pxcelValueFromObject(rootMargin),
313                    }
314                  ).observe(target);
315                } else {
316                  new IntersectionObserver(
317                    function (entries, observer) {
318                      var flg = false;
319                      for (var h = 0; h < entries.length; h++) {
320                        if (entries[h].isIntersecting) {
321                          //見えた
322                          flg = true;
323                        }
324                      }
325                      if (flg === true) {
326                        enter(entries[0].target);
327                        observer.disconnect();
328                      }
329                    },
330                    {
331                      threshold: [0.0, 0.25, 0.5, 0.75, 1.0],
332                      rootMargin:
333                        rootMargin == "0px" ||
334                        rootMargin == "0" ||
335                        rootMargin === null ||
336                        rootMargin === undefined
337                          ? "0px"
338                          : Common.pxcelValueFromObject(rootMargin),
339                    }
340                  ).observe(target);
341                }
342              })(targets[i]);
343            }
344          }
345        : function (target, enter, leave) {
346            var targets;
347            if (typeof target == "string") {
348              targets = document.querySelectorAll(target);
349            } else if (target.length) {
350              targets = target;
351            } else {
352              targets = [];
353              targets.push(target);
354            }
355            for (var i = 0; i < targets.length; i++) {
356              (function (child) {
357                var fromS, toS;
358                //resize
359                var resize = function () {
360                  fromS =
361                    window.pageYOffset +
362                    child.getBoundingClientRect().top -
363                    document.documentElement.clientHeight;
364                  toS =
365                    child.clientHeight +
366                    fromS +
367                    document.documentElement.clientHeight;
368                };
369                window.addEventListener("resize", resize);
370                resize();
371
372                //scroll
373                var enterFlg = false;
374                var scroll = function () {
375                  var s = window.pageYOffset;
376                  if (fromS < s && s < toS) {
377                    //見えたとき
378                    enter(child);
379                    enterFlg = true;
380                    if (!leave) {
381                      //一度だけの処理の設定のとき
382                      window.removeEventListener("resize", resize);
383                      window.removeEventListener("scroll", scroll);
384                    }
385                  } else {
386                    //見えないとき
387                    if (enterFlg) {
388                      //見えてる状態だったとき
389                      leave(child);
390                      enterFlg = false;
391                    }
392                  }
393                };
394                window.addEventListener("scroll", scroll);
395                scroll();
396              })(targets[i]);
397            }
398          };
399    var slideModules = document.querySelectorAll(
400      "[data-slidearea01]:not([data-slidearea01-ok])"
401    );
402    for (var i = 0; i < slideModules.length; i++) {
403      (function (element) {
404        element.setAttribute("data-slidearea01-ok", "");
405        var setSlide = function () {
406          //最低限の設定
407          var slidearea = element.querySelector(".slidearea01_content"),
408            slides = element.querySelectorAll(".slidearea01_link"),
409            length = slides.length - 1,
410            now = -1,
411            slideDistByDammy = 3,
412            slidesWithDammy;
413
414          //スライドの速さ
415          var speed = 0.4,
416            transitionValue =
417              speed + "s cubic-bezier(0.445, 0.050, 0.550, 0.950)",
418            transitionValueByFlick =
419              speed + "s cubic-bezier(0.165, 0.840, 0.440, 1.000)";
420          setTimeout(function () {
421            slidearea.style.WebkitTransition = transitionValue;
422            slidearea.style.transition = transitionValue;
423          }, 1);
424
425          //前へ・次へボタン
426          var prev = element.querySelector(".prev"),
427            next = element.querySelector(".next");
428
429          //自動切換え
430          var loop,
431            loopDur = 6000;
432
433          //ページング
434          var pager = element.querySelector(".slidearea01_pager"),
435            pagers;
436
437          var imgpager = element.querySelector(".slidearea01_imgpager"),
438            imgpagers = element.querySelectorAll(".slidearea01_imgpager_btn");
439
440          //カウンター
441          var counter = element.querySelector(".slidearea01_count"),
442            counterTotal,
443            counterNow,
444            counterZeroPadding;
445
446          //フリックで切り替え
447          var flickFlg = false,
448            flickArea = element.querySelector(".slidearea01_wrapin"),
449            flickPosXBefore = 0,
450            flickPosXNow = 0,
451            flickPosXFirst = 0,
452            flickPosYBefore = 0,
453            flickPosYNow = 0,
454            flickPosYFirst = 0,
455            flickArrow,
456            flickLoop,
457            flickAnimTimeFlg = false;
458
459          //ループ処理
460          var loopFunc = function () {
461            if (!element.hasAttribute("data-slidearea01-no-autoslide"))
462              nextFunc();
463          };
464
465          //ループをセット
466          var setLoop = function () {
467            clearInterval(loop);
468            loop = setInterval(loopFunc, loopDur);
469          };
470
471          //ループを解除
472          var removeLoop = function () {
473            clearInterval(loop);
474          };
475
476          //flick 常時処理
477          var flickLoopFunc = function () {
478            if (flickFlg) {
479              if (Math.abs(flickPosXNow - flickPosXBefore) > 10) {
480                //タッチ開始位置から一定の距離の場合
481                if (flickPosXNow - flickPosXBefore < 0) {
482                  //マイナスのとき
483                  flickArrow = "next";
484                } else {
485                  flickArrow = "prev";
486                }
487              } else {
488                flickArrow = "none";
489              }
490              flickPosXBefore = flickPosXNow;
491            }
492          };
493          var flickPosSetFunc = function () {
494            slidearea.style.left =
495              -100 * (now + slideDistByDammy) -
496              ((flickPosXFirst - flickPosXNow) / flickArea.offsetWidth) * 100 +
497              "%";
498          };
499          var flickPosResetFunc = function () {
500            slidearea.style.left = -100 * (now + slideDistByDammy) + "%";
501          };
502
503          //フリックのループをセット
504          var setFlickLoop;
505          //フリックのループを解除
506          var removeFlickLoop;
507          var flickLoopFuncByRequestAnimationFrame = function () {
508            flickLoopFunc();
509            flickLoop = window.requestAnimationFrame(
510              flickLoopFuncByRequestAnimationFrame
511            );
512          };
513          if (document.documentElement.hasClass("touchevents")) {
514            if (window.requestAnimationFrame) {
515              setFlickLoop = function () {
516                window.cancelAnimationFrame(flickLoop);
517                flickLoopFuncByRequestAnimationFrame();
518              };
519              removeFlickLoop = function () {
520                window.cancelAnimationFrame(flickLoop);
521              };
522            } else {
523              setFlickLoop = function () {
524                clearInterval(flickLoop);
525                flickLoop = setInterval(function () {
526                  flickLoopFunc();
527                }, 33);
528              };
529              removeFlickLoop = function () {
530                clearInterval(flickLoop);
531              };
532            }
533          } else {
534            setFlickLoop = function () {};
535            removeFlickLoop = function () {};
536          }
537
538          (function (i) {
539            //スライドに番号を付与
540            for (i = 0; i < slides.length; i = 0 | (i + 1)) {
541              slides[i].setAttribute("data-slide-num", i);
542            }
543
544            //端の要素を生成
545            var closeElesPrev = [],
546              closeElesNext = [],
547              closeEle,
548              closeEleNow;
549
550            //ダミー要素 前 作成
551            closeEleNow = length + 1;
552            for (i = 0; i < slideDistByDammy; i = 0 | (i + 1)) {
553              closeEleNow--;
554              if (closeEleNow < 0) closeEleNow = length;
555              var c = slides[closeEleNow].cloneNode(true);
556              closeElesPrev.push(c);
557            }
558            //ダミー要素 後 作成
559            closeEleNow = -1;
560            for (i = 0; i < slideDistByDammy; i = 0 | (i + 1)) {
561              closeEleNow++;
562              if (length < closeEleNow) closeEleNow = 0;
563              var c = slides[closeEleNow].cloneNode(true);
564              closeElesNext.push(c);
565            }
566            //ダミー要素をいれる
567            for (i = 0; i < closeElesPrev.length; i = 0 | (i + 1)) {
568              closeElesPrev[i].addClass("dammy");
569              slidearea.prependChild(closeElesPrev[i]);
570            }
571            for (i = 0; i < closeElesNext.length; i = 0 | (i + 1)) {
572              closeElesNext[i].addClass("dammy");
573              slidearea.appendChild(closeElesNext[i]);
574            }
575
576            slidesWithDammy = slidearea.children;
577
578            slidearea.style.width = slidesWithDammy.length * 100 + "%";
579            for (i = 0; i < slidesWithDammy.length; i = 0 | (i + 1)) {
580              slidesWithDammy[i].style.width =
581                +(100 / slidesWithDammy.length) + "%";
582            }
583
584            //ページングを生成
585            if (pager) {
586              for (i = 0; i <= length; i = 0 | (i + 1)) {
587                var li = document.createElement("button");
588                li.setAttribute("data-slide-num", i);
589                li.addEventListener("click", function (e) {
590                  //loop
591                  setLoop();
592                  var arrow = "next";
593                  if (~~e.currentTarget.getAttribute("data-slide-num") < now)
594                    arrow = "prev";
595                  changeFunc(
596                    ~~e.currentTarget.getAttribute("data-slide-num"),
597                    arrow
598                  );
599                });
600                pager.appendChild(li);
601              }
602              pagers = pager.children;
603            }
604
605            //画像のページング
606            if (imgpager) {
607              for (i = 0; i <= length; i = 0 | (i + 1)) {
608                var li = imgpagers[i];
609                li.setAttribute("data-slide-num", i);
610                li.addEventListener("click", function (e) {
611                  //loop
612                  setLoop();
613                  var arrow = "next";
614                  if (~~e.currentTarget.getAttribute("data-slide-num") < now)
615                    arrow = "prev";
616                  changeFunc(
617                    ~~e.currentTarget.getAttribute("data-slide-num"),
618                    arrow
619                  );
620                });
621              }
622            }
623
624            //要素の画像読み込み
625            window.trigger("resize");
626          })();
627
628          if (counter) {
629            counterNow = element.querySelector(".slidearea01_count_now");
630            counterTotal = element.querySelector(".slidearea01_count_total");
631            if (counterTotal && counterNow) {
632              if (slides.length < 100) {
633                counterZeroPadding = function (val) {
634                  return ("00" + val).slice(-2);
635                };
636              } else {
637                counterZeroPadding = function (val) {
638                  return ("000" + val).slice(-3);
639                };
640              }
641              counterNow.innerText = counterZeroPadding(1);
642              counterTotal.innerText = counterZeroPadding(length + 1);
643            } else {
644              if (!counterTotal) {
645                console.error(".slidearea01_count_now という要素が無い");
646              }
647              if (!counterNow) {
648                console.error(".slidearea01_count_total という要素が無い");
649              }
650            }
651          }
652
653          //prev
654          var prevFunc = function () {
655            var val = -1 + now;
656            if (val < 0) val = length;
657            changeFunc(val, "prev");
658
659            //loop
660            setLoop();
661          };
662          if (prev) prev.addEventListener("click", prevFunc);
663
664          //next
665          var nextFunc = function () {
666            var val = +1 + now;
667            if (length < val) val = 0;
668            changeFunc(val, "next");
669
670            //loop
671            setLoop();
672          };
673          if (next) next.addEventListener("click", nextFunc);
674
675          //スライドエリアが見えたときに自動切換え・フリックの
675処理を有効にする
676          inview(
677            element,
678            function () {
679              setLoop();
680              setFlickLoop();
681            },
682            function () {
683              removeLoop();
684              removeFlickLoop();
685            }
686          );
687
688          //flick touchstart
689          flickArea.addEventListener(
690            "touchstart",
691            function (e) {
692              flickPosXNow =
693                flickPosXBefore =
694                flickPosXFirst =
695                  e.changedTouches[0].pageX;
696              flickPosYNow =
697                flickPosYBefore =
698                flickPosYFirst =
699                  e.changedTouches[0].pageY;
700              removeLoop();
701              flickFlg = false;
702              slidearea.addClass("disableTrs");
703            },
704            { passive: true }
705          );
706
707          //flick touchmove
708          flickArea.addEventListener(
709            "touchmove",
710            function (e) {
711              flickPosXNow = e.changedTouches[0].pageX;
712              flickPosYNow = e.changedTouches[0].pageY;
713              if (
714                Math.abs(flickPosYNow - flickPosYFirst) <
715                Math.abs(flickPosXNow - flickPosXFirst)
716              ) {
717                //Y軸よりX軸のほうが値が大きい場合
718                //スクロール禁止
719                e.preventDefault();
720                e.stopPropagation();
721                flickPosSetFunc();
722                flickFlg = true;
723              }
724            },
725            { passive: true }
726          );
727
728          //flick touchend
729          flickArea.addEventListener(
730            "touchend",
731            function (e) {
732              slidearea.removeClass("disableTrs");
733              if (flickFlg) {
734                switch (flickArrow) {
735                  case "next":
736                    flickFlg = false;
737                    flickAnimTimeFlg = true;
738                    nextFunc();
739                    break;
740                  case "prev":
741                    flickFlg = false;
742                    flickAnimTimeFlg = true;
743                    prevFunc();
744                    break;
745                  default:
746                    setLoop();
747
748                    flickPosResetFunc();
749                    break;
750                }
751                flickArrow = "none";
752              } else {
753                setLoop();
754              }
755              flickFlg = false;
756            },
757            { passive: true }
758          );
759
760          //スライドの処理
761          var timeoutID01, timeoutID02, timeoutID03;
762          var changeFunc = function (num, arrow, target, targetP) {
763            //ループしているようにみせる処理
764            var moveNum = num;
765
766            if (element.hasAttribute("data-slidearea01-slidelimit")) {
767              if (num == 0 && arrow == "next") {
768                moveNum = length;
769                num = length;
770              }
771              if (num == length && arrow == "prev") {
772                moveNum = 0;
773                num = 0;
774              }
775            } else {
776              if (2 <= length) {
777                if (length == now && num == 0) moveNum = length + 1;
778                if (0 == now && num == length) moveNum = -1;
779              } else {
780                if (num == 0 && arrow == "next") moveNum = length + 1;
781                if (num == length && arrow == "prev") moveNum = -1;
782              }
783            }
784
785            //フリック時のスピード調整
786            var time = speed * 1000;
787            if (flickAnimTimeFlg) {
788              time = time * 0.8;
789              slidearea.style.WebkitTransition = transitionValueByFlick;
790              slidearea.style.transition = transitionValueByFlick;
791            }
792
793            //スライド一時無効化
794            element.style.pointerEvents = "none";
795
796            //スライド実行
797            slidearea.style.left = -100 * (moveNum + slideDistByDammy) + "%";
798            clearTimeout(timeoutID01);
799            clearTimeout(timeoutID02);
800            clearTimeout(timeoutID03);
801            timeoutID01 = setTimeout(function () {
802              slidearea.addClass("disableTrs");
803              timeoutID02 = setTimeout(function () {
804                slidearea.style.left = -100 * (num + slideDistByDammy) + "%";
805                timeoutID03 = setTimeout(function () {
806                  slidearea.removeClass("disableTrs");
807                  slidearea.style.WebkitTransition = transitionValue;
808                  slidearea.style.transition = transitionValue;
809                  //スライド一時無効化
810                  element.style.pointerEvents = "auto";
811                  if (flickAnimTimeFlg) {
812                    flickAnimTimeFlg = false;
813                  }
814                }, 33);
815              }, 33);
816            }, time);
817
818            //pager 切り替え
819            if (pager) {
820              target = pagers[num];
821              pagers.removeClass("active");
822              target.addClass("active");
823            }
824            //pager 切り替え
825            if (imgpager) {
826              target = imgpagers[num];
827              imgpagers.removeClass("active");
828              target.addClass("active");
829            }
830
831            //カウンター
832            if (counter) {
833              counterNow.innerText = counterZeroPadding(num + 1);
834            }
835
836            //値保存
837            now = ~~num;
838
839            if (element.hasAttribute("data-slidearea01-slidelimit")) {
840              if (now == 0) {
841                if (prev) prev.addClass("disabled");
842              } else {
843                if (prev) prev.removeClass("disabled");
844              }
845              if (now == length) {
846                if (next) next.addClass("disabled");
847              } else {
848                if (next) next.removeClass("disabled");
849              }
850            }
851          };
852          changeFunc(0);
853        };
854        var loadfile = element.querySelector("[data-lf]");
855        if (loadfile) {
856          var loadfilearea = loadfile.closest("[data-lf-area]");
857          if (~~loadfilearea.getAttribute("data-lf-area") == 1) {
858            setSlide();
859          } else {
860            loadfilearea.addEventListener("loadfileComplete", setSlide, {
861              once: true,
862            });
863          }
864        } else {
865          /*sec_place slide PCのみ*/
866          if (element.classList.contains("spSlideOff")) {
867            if (640 < document.documentElement.clientWidth) {
868              setSlide();
869            }
870          } else {
871            setSlide();
872          }
873        }
874      })(slideModules[i]);
875    }
876  })();
877});

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.