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.