PageSourceSearch

https://sololeveling-anime.net/assets/js/jquery.common.js

js sololeveling-anime.net collected 2026-10-02 04:37:42 UTC 4,990 bytes, 179 lines download raw bytes

1const lns=new Lenis();
2function raf(time){
3	lns.raf(time)
4	requestAnimationFrame(raf)
5}
6requestAnimationFrame(raf)
7if($(".modal")[0]){
8	const modal=document.querySelector('.modal')
9	modal.addEventListener('wheel',(e)=>{
10		e.stopPropagation()
11	})
12}
13// Anchor Smooth Scroll
14$(".js-anchor").on('click', function(){
15	var speed = 1000;
16	var href= $(this).attr("href");
17	var target = $(href == "#" || href == "" ? 'html' : href);
18	var position = target.offset().top;
19	$('body,html').animate({scrollTop:position}, speed, 'easeOutQuart');
20	return false;
21});
22// Menu
23$(".js-menu").on('click', function(){
24	$(this).toggleClass('is-active');
25	if($(this).hasClass('is-active')){
26		// メニューが開いた時
27		$('.js-header').addClass('is-active');
28		$("body").css({'overflow':'hidden'});
29		lns.stop();
30	} else {
31		// メニューが閉じた時
32		$('.js-header').removeClass('is-active');
33		$("body").css({'overflow':''});
34		lns.start();
35	}
36});
37
38$(".aside__navLink").on('click', function(){
39	$('.js-header').removeClass('is-active');
40	$('.js-menu').removeClass('is-active');
41	$("body").css({'overflow':''});
42	lns.start();
43});
44
45
46
47
48function getYtThumb(){
49	if($(".js-movieThumb")[0]){
50		$(".js-movieThumb").each(function(i,v){
51			var ytID = $(this).data('ytid');
52			$(this).append('<img src="https://img.youtube.com/vi/'+ytID+'/maxresdefault.jpg" alt="">')
53		});
54	}
55}
56$(".js-modalMovie").on('click',function(){
57	var ytid = $(this).data('ytid');
58	$(".modal__movieContentin iframe").attr('src','https://www.youtube.com/embed/'+ytid+'?autoplay=1&rel=0');
59		$("body,html").css({overflow:'hidden'});
60		$("#movieModal").fadeIn(500,'linear',function(){
61			if($(".index")[0]){
62			player.stopVideo();
63			}
64			footerPlayer.stopVideo();
65		});
66});
67$(".js-movieModalClose").on('click',function(){
68	if($(".index")[0]){
69		if(mflg == 1){
70			player.playVideo();
71		}
72		if(fflg == 1){
73			footerPlayer.playVideo();
74		}
75		lns.start();
76	}
77	$("#movieModal").fadeOut(500,'linear',function(){
78		$("body,html").attr('style','');
79		$(".modal__movieContentin iframe").attr('src','');
80	})
81});
82
83
84/*-----------------------------------------------
85 * ScrollAnimation for IntersectionObserver [.js-scrani 要素が見えたら is-ani をaddclass するやつ]
86-------------------------------------------------*/
87const set_scrani = () =>{
88	const SCRANI_ACTIVE_CLASSNAME = 'is-ani';
89	const scrani_callback = (entries) => {
90		//各 entry(IntersectionObserverEntry オブジェクト)に対して
91		entries.forEach( (entry) => {
92			//監視対象の要素が領域内に入った場合の処理
93			if (entry.isIntersecting) {
94				//監視対象の要素(entry.target)に is-ani クラスを追加
95				entry.target.classList.add(SCRANI_ACTIVE_CLASSNAME);
96			}
97		});
98	}
99	const scrani_option = {
100		rootMargin: '-10% 0px',
101	}
102	const scrani_observer = new IntersectionObserver(scrani_callback, scrani_option);
103
104	const target_scrani = document.querySelectorAll('.js-scrani');
105	//全ての監視対象要素を observe() メソッドに指定
106	target_scrani.forEach( (elem) => {
107		//observe() に監視対象の要素を指定
108		scrani_observer.observe(elem);
109	});
110}
111
112setTimeout(function(){
113	set_scrani();
114},200);
115
116
117
118/*-----------------------------------------------
119 * ACCESS HISTORY
120=============================================== */
121function accessHistory() {
122	const keyName = 'visited';
123	const keyValue = true;
124	if (!sessionStorage.getItem(keyName)) {
125		sessionStorage.setItem(keyName, keyValue);
126		return true;
127	} else {
128		//ここに通常アクセス時の処理
129		// console.log("visited");
130		//$('body').addClass('is-visited');
131		return false;
132	}
133}
134$(document).ready(accessHistory());
135
136
137
138/*-----------------------------------------------
139 * ef
140=============================================== */
141function efScr(){
142	wHeight=$(window).innerHeight();
143	scrTop=$(window).scrollTop();
144	wWidth=$(window).innerWidth();
145
146	$(".ef:not(.aside__logoLink)").each(function(){
147		var pos=$(this).offset().top;
148		if(scrTop > pos-wHeight + wHeight/4){
149			$(this).addClass("efs");
150		}
151	});
152	if($('body').hasClass('s-news')){
153		$('.aside__logoLink').addClass('efs');
154	}else{
155		$('.aside__logoLink').removeClass('efs');
156	}
157}
158$(window).on('load resize scroll',efScr);
159
160
161
162/*-----------------------------------------------
163 * ImageModal
164=============================================== */
165function imgModal(_file){
166	let _root = $("body").data('root');
167	var imgSrc = _root + _file;
168	$('#imageModal').fadeIn(500);
169	$('body').css({'overflow':'hidden'});
170	$(".js-modalImgIn").html('<img src="'+imgSrc+'" onmousedown="return false" oncopy="return false" onselectstart="return false" oncontextmenu="return false">');
171
172}
173
174$(".js-modalClose").on('click',function(){
175	$(".modal").fadeOut(500,'linear',function(){
176		$("body,html").attr('style','');
177		$(".js-modalCont").html();
178	});
179});

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.