PageSourceSearch

https://www.uljin.go.kr/js/02_tour/common-scroll.js

js uljin.go.kr collected 2026-10-02 05:50:22 UTC 5,210 bytes, 199 lines download raw bytes

1function stateScrollObj(param,obj,btn,interval,speed,viewSize,moreSize,dir,data,auto,hover,method,op1){
2	var param = $(param);
3	var btn = $(btn);
4	var obj = param.find(obj);
5	
6	var elem = 0;
7	var objYScale = obj.eq(elem).outerHeight(true)+moreSize;
8	var objXScale = obj.eq(elem).outerWidth(true)+moreSize;
9	var str;
10	var returnNodes;
11
12	var playdir = data;
13	var data = data; // 0:default, 1:prev
14
15	var play = btn.find("[data-type=play]");
16	var stop = btn.find("[data-type=stop]");
17	
18	if(auto == true) play.hide(); else stop.hide(); 
19	if(op1 == true) obj.not(elem).css({opacity:0}).eq(elem).css({opacity:1});
20	
21	function movement(){
22		
23		switch(data){
24			case 0:
25				if(dir == "x"){
26					obj.parent().stop(true,true).animate({left:-objXScale},{duration:speed,easing:method,complete:
27						function(){
28							obj.parent().css("left",0);
29							str = obj.eq(elem).detach();
30							obj.parent().append(str);
31							if(elem == obj.size()-1){
32								elem = 0;
33							}else{
34								elem++;
35							}
36							objXScale = obj.eq(elem).outerWidth(true)+moreSize;
37						}
38					});
39				}else{ 
40					obj.parent().stop(true,true).animate({top:-objYScale},{duration:speed,easing:method,complete:
41						function(){
42							obj.parent().css("top",0);
43							str = obj.eq(elem).detach();
44							obj.parent().append(str);
45							if(elem == obj.size()-1){
46								elem = 0;
47							}else{
48								elem++;
49							}
50							objYScale = obj.eq(elem).outerHeight(true)+moreSize;
51						}
52					});
53				}
54
55				if(op1 == true){
56					obj.eq(elem).stop(true,true).animate({opacity:0}
56,{duration:speed,easing:method});
57					obj.eq(elem).next().stop(true,true).animate({opacity:1},{duration:speed,easing:method});
58					//obj.eq(elem).stop(true,true).fadeOut(speed);
59					//obj.eq(elem).next().stop(true,true).fadeIn(speed);
60					//obj.eq(elem).css({"z-index":"0"});
61					//obj.eq(elem).next().css({"z-index":"1"});
62				}
63			break;
64			
65			case 1:
66				if(dir == "x"){
67					if(elem == 0){
68						elem = obj.size()-1;
69					}else{
70						elem--;
71					}
72					objXScale = obj.eq(elem).outerWidth()+moreSize;
73					obj.parent().css("left",-objXScale);
74					str = obj.eq(elem).detach();
75					obj.parent().prepend(str);
76					obj.parent().stop(true,false).animate({left:0},{duration:speed,easing:method});
77				}else{
78					if(elem == 0){
79						elem = obj.size()-1;
80					}else{
81						elem--;
82					}
83					objYScale = obj.eq(elem).outerHeight()+moreSize;
84					obj.parent().css("top",-objYScale);
85					str = obj.eq(elem).detach();
86					obj.parent().prepend(str);
87					obj.parent().stop(true,false).animate({top:0},{duration:speed,easing:method});
88				}
89
90				if(op1 == true){
91					obj.eq(elem).stop(true,false).animate({opacity:1},{duration:speed,easing:method});
92					obj.eq(elem).next().stop(true,false).animate({opacity:0}
92,{duration:speed,easing:method});
93					//obj.eq(elem).stop(true,false).fadeIn(speed);
94					//obj.eq(elem).next().stop(true,false).fadeOut(speed);
95					//obj.eq(elem).css({"z-index":"1"});
96					//obj.eq(elem).next().css({"z-index":"0"});
97				}
98			break;
99			
100			//default: alert("warning, 0:default, 1:prev, data:"+data);
101		}
102	}
103
104	function rotate(){
105		clearInterval(returnNodes);
106		returnNodes = setInterval(function(){
107			movement();
108		},interval);
109	}
110
111	if(obj.size() <= viewSize) return false;
112
113	obj.find("a").on("focusin",function(){
114		clearInterval(returnNodes);
115	});
116
117	btn.find("[data-type=play]").on("click",function(event){
118		data = playdir;
119		play.hide();
120		stop.show();
121		rotate();
122		return false;
123	});
124
125	btn.find("[data-type=stop]").on("click",function(event){
126		clearInterval(returnNodes);
127		param.find(":animated").stop();
128		stop.hide();
129		play.show();
130		return false;
131	});
132
133	btn.find("[data-type=prev]").on("click",function(event){
134		if(obj.parent().find(":animated").size()) return false;
135		clearInterval(returnNodes);
136		data = 1;
137		movement();
138		// add
139		stop.hide();
140		play.show();
141		return false;
142	});
143
144	btn.find("[data-type=next]").on("click",function(event){
145		if(obj.parent().find(":animated").size()) return false;
146		clearInterval(returnNodes);
147		data = 0;
148		movement();
149		// add
150		stop.hide();
151		play.show();
152		return false;
153	});
154
155	if(hover == true){
156		obj.hover(function(){
157			clearInterval(returnNodes);
158		},function(){
159			rotate();
160		});
161	}
162
163	if(auto == true) rotate();
164
165	// 터치 이벤트  플리킹 구현
166	var xStartpoint,xEndpoint;
167
168	function docSTART(event){
169		if(event.originalEvent.changedTouches != undefined){
170			xStartpoint = Math.floor(event.originalEvent.changedTouches[0].clientX - $(this).offset().left);
171		}
172	}
173
174	function docEND(event){
175		if(event.originalEvent.changedTouches != undefined){
176			xEndpoint = Math.floor(event.originalEvent.changedTouches[0].clientX - $(this).offset().left) - xStartpoint;
177		
178			if(xEndpoint < -50){ 
179				data = 0;
180			}else if(xEndpoint > 50){
181				data = 1;
182			}else{
183				return true;
184			} 
185
186			clearInterval(returnNodes);
187
188			stop.hide();
189			play.show();
190
191			movement();
192
193			event.preventDefault();
194		}
195	}
196
197	param.on("touchstart",docSTART);
198	param.on("touchend",docEND);
199}

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.