/templates/camp26_e_buy/js/jquery.film.js

https://bitbucket.org/dreamriks/gift · JavaScript · 286 lines · 252 code · 32 blank · 2 comment · 79 complexity · e8cb6d953852a8c955b6637e1fb3e8e6 MD5 · raw file

  1. (function($) {jQuery.extend({
  2. init_news: function(option){
  3. option = $.extend({
  4. firstname:"",
  5. secondname:"",
  6. thirdname:"",
  7. fourthname:"",
  8. playingtitle:"Now Playing:",
  9. nexttitle:"Next News:",
  10. prevtitle:"Prev News:",
  11. newsspeed:6000,
  12. effectis:0,
  13. mouseover:true,
  14. effectspeed:600,
  15. imagedir:"",
  16. newscountname:"",
  17. disablenewscount:false
  18. }, option);
  19. var firstname=option.firstname;
  20. var secondname=option.secondname;
  21. var thirdname=option.thirdname;
  22. var fourthname=option.fourthname;
  23. var newsspeed=option.newsspeed;
  24. var effectis=option.effectis;
  25. var playingtitle=option.playingtitle;
  26. var nexttitle=option.nexttitle;
  27. var prevtitle=option.prevtitle;
  28. var mouseover=option.mouseover;
  29. var effectspeed=option.effectspeed;
  30. var imagedir=option.imagedir;
  31. var newscountname=option.newscountname;
  32. var disablenewscount=option.disablenewscount;
  33. if (newscountname){var news_sp=1;}if (disablenewscount===true){var news_dis=1;}
  34. effectis=parseInt(effectis,10);
  35. effectspeed=parseInt(effectspeed,10);
  36. var myprevimg=$('#news_prev').attr('src'); if (!myprevimg){myprevimg=imagedir+'prev.png';}
  37. var mynextimg=$('#news_next').attr('src'); if (!mynextimg){mynextimg=imagedir+'next.png';}
  38. var mypauseimg=$('#news_pause').attr('src'); if (!mypauseimg){mypauseimg=imagedir+'pause.png';}
  39. var myprevimg0=$('#news_prev0').attr('src'); if (!myprevimg0){myprevimg0=imagedir+'prev0.png';}
  40. var mynextimg0=$('#news_next0').attr('src'); if (!mynextimg0){mynextimg0=imagedir+'next0.png';}
  41. var mypauseimg0=$('#news_pause0').attr('src'); if (!mypauseimg0){mypauseimg0=imagedir+'pause0.png';}
  42. var activechk,activechkmore,mysize,myfirst,myfirst_explain,active,timer,splaynum;
  43. mysize=$('#'+firstname+' .news_style').size();
  44. myfirst=$('#'+firstname+' .news_style').eq(0).html();
  45. myfirst_explain=$('#'+firstname+' .news_style').eq(1).attr('rel');
  46. active=0;
  47. $('#'+secondname).append(myfirst);
  48. if (news_sp===1 && news_dis!=1)
  49. {$('#'+newscountname).html('1/'+mysize);}
  50. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).html('&nbsp;&nbsp;'+playingtitle+'1/'+mysize+'&nbsp;&nbsp;<br>');}
  51. $('#'+thirdname).append(nexttitle+myfirst_explain);
  52. $('#'+fourthname+' #news_next').click(function(){
  53. clearTimeout(timer);
  54. $(this).attr({src:mynextimg0});
  55. $('#'+fourthname+' #news_prev').attr({src:myprevimg});
  56. $('#'+fourthname+' #news_pause').attr({src:mypauseimg});
  57. active=active+1;
  58. if (active==mysize){active=0;}
  59. var mynum=active+1;
  60. var mynow=$('#'+firstname+' .news_style').eq(active).html();
  61. var nextnum=mynum;
  62. if (nextnum==mysize){nextnum=0;}
  63. var mynow_explain=$('#'+firstname+' .news_style').eq(nextnum).attr('rel');
  64. switch (effectis)
  65. {
  66. case 0:
  67. $('#'+secondname).fadeOut(effectspeed,function(){
  68. $('#'+secondname).empty();
  69. $('#'+secondname).html(mynow);
  70. if (news_sp===1 && news_dis!=1)
  71. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(nexttitle+mynow_explain);}
  72. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(nexttitle+mynow_explain);}
  73. if (news_dis===1)
  74. {$('#'+thirdname).html(nexttitle+mynow_explain);}
  75. $('#'+secondname).fadeIn(effectspeed);
  76. });
  77. break;
  78. case 1:
  79. $('#'+secondname).slideUp(effectspeed,function(){
  80. $('#'+secondname).empty();
  81. $('#'+secondname).html(mynow);
  82. if (news_sp===1 && news_dis!=1)
  83. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(nexttitle+mynow_explain);}
  84. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(nexttitle+mynow_explain);}
  85. if (news_dis===1)
  86. {$('#'+thirdname).html(nexttitle+mynow_explain);}
  87. $('#'+secondname).slideDown(effectspeed);
  88. });
  89. break;
  90. case 2:
  91. $('#'+secondname).animate({width:"0px",opacity: 0.33},effectspeed,function(){
  92. $('#'+secondname).empty();
  93. $('#'+secondname).html(mynow);
  94. $('#'+secondname).animate({width:"100%",opacity: 1},effectspeed,function(){
  95. if (news_sp===1 && news_dis!=1)
  96. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(nexttitle+mynow_explain);}
  97. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(nexttitle+mynow_explain);}
  98. if (news_dis===1)
  99. {$('#'+thirdname).html(nexttitle+mynow_explain);}
  100. });
  101. });
  102. break;
  103. case 3:
  104. $('#'+secondname).html(mynow);
  105. if (news_sp===1 && news_dis!=1)
  106. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(nexttitle+mynow_explain);}
  107. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(nexttitle+mynow_explain);}
  108. if (news_dis===1)
  109. {$('#'+thirdname).html(nexttitle+mynow_explain);}
  110. break;
  111. default:
  112. $('#'+secondname).fadeOut(effectspeed,function(){
  113. $('#'+secondname).empty();
  114. $('#'+secondname).html(mynow);
  115. if (news_sp===1 && news_dis!=1)
  116. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(nexttitle+mynow_explain);}
  117. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(nexttitle+mynow_explain);}
  118. if (news_dis===1)
  119. {$('#'+thirdname).html(nexttitle+mynow_explain);}
  120. $('#'+secondname).fadeIn(effectspeed);
  121. });
  122. break;
  123. }
  124. timer=setTimeout(autonext,newsspeed,active);
  125. });
  126. $('#'+fourthname+' #news_prev').click(function(){
  127. clearTimeout(timer);
  128. $(this).attr({src:myprevimg0});
  129. $('#'+fourthname+' #news_next').attr({src:mynextimg});
  130. $('#'+fourthname+' #news_pause').attr({src:mypauseimg});
  131. active=active-1;
  132. if (active<0){active=mysize-1;}
  133. var mynum=active+1;
  134. var myprevnum=mynum-2;
  135. if (myprevnum<0){myprevnum=mysize-1;}
  136. var mynow=$('#'+firstname+' .news_style').eq(active).html();
  137. var mynow_explain=$('#'+firstname+' .news_style').eq(myprevnum).attr('rel');
  138. switch (effectis)
  139. {
  140. case 0:
  141. $('#'+secondname).fadeOut(effectspeed,function(){
  142. $('#'+secondname).empty();
  143. $('#'+secondname).html(mynow);
  144. if (news_sp===1 && news_dis!=1)
  145. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(prevtitle+mynow_explain);}
  146. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(prevtitle+mynow_explain);}
  147. if (news_dis===1)
  148. {$('#'+thirdname).html(prevtitle+mynow_explain);}
  149. $('#'+secondname).fadeIn(effectspeed);
  150. });
  151. break;
  152. case 1:
  153. $('#'+secondname).slideUp(effectspeed,function(){
  154. $('#'+secondname).empty();
  155. $('#'+secondname).html(mynow);
  156. if (news_sp===1 && news_dis!=1)
  157. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(prevtitle+mynow_explain);}
  158. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(prevtitle+mynow_explain);}
  159. if (news_dis===1)
  160. {$('#'+thirdname).html(prevtitle+mynow_explain);}
  161. $('#'+secondname).slideDown(effectspeed);
  162. });
  163. break;
  164. case 2:
  165. $('#'+secondname).animate({width:"0px",opacity: 0.33},effectspeed,function(){
  166. $('#'+secondname).empty();
  167. $('#'+secondname).html(mynow);
  168. $('#'+secondname).animate({width:"100%",opacity: 1},effectspeed,function(){
  169. if (news_sp===1 && news_dis!=1)
  170. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(prevtitle+mynow_explain);}
  171. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(prevtitle+mynow_explain);}
  172. if (news_dis===1)
  173. {$('#'+thirdname).html(prevtitle+mynow_explain);}
  174. });
  175. });
  176. break;
  177. case 3:
  178. $('#'+secondname).html(mynow);
  179. if (news_sp===1 && news_dis!=1)
  180. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(prevtitle+mynow_explain);}
  181. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(prevtitle+mynow_explain);}
  182. if (news_dis===1)
  183. {$('#'+thirdname).html(prevtitle+mynow_explain);}
  184. break;
  185. default:
  186. $('#'+secondname).fadeOut(effectspeed,function(){
  187. $('#'+secondname).empty();
  188. $('#'+secondname).html(mynow);
  189. if (news_sp===1 && news_dis!=1)
  190. {$('#'+newscountname).html(mynum+'/'+mysize);$('#'+thirdname).html(nexttitle+mynow_explain);}
  191. if (news_sp!=1 && news_dis!=1){$('#'+thirdname).empty().html('&nbsp;&nbsp;'+playingtitle+''+mynum+'/'+mysize+'&nbsp;&nbsp;<br>');$('#'+thirdname).append(prevtitle+mynow_explain);}
  192. if (news_dis===1)
  193. {$('#'+thirdname).html(prevtitle+mynow_explain);}
  194. $('#'+secondname).fadeIn(effectspeed);
  195. });
  196. break;
  197. }
  198. timer=setTimeout(autoprev,newsspeed,active);
  199. });
  200. $('#'+fourthname+' #news_pause').click(function(){
  201. $(this).attr({src:mypauseimg0});
  202. $('#'+fourthname+' #news_next').attr({src:mynextimg});
  203. $('#'+fourthname+' #news_prev').attr({src:myprevimg});
  204. clearTimeout(timer);
  205. });
  206. //add by request
  207. if (mouseover===true)
  208. {
  209. $('#'+secondname).hover(function(){
  210. clearTimeout(timer);
  211. activechk=$('#'+fourthname+' #news_next').attr('src');
  212. activechkmore=$('#'+fourthname+' #news_prev').attr('src');
  213. $('#'+fourthname+' #news_pause').attr({src:mypauseimg0});
  214. $('#'+fourthname+' #news_next').attr({src:mynextimg});
  215. $('#'+fourthname+' #news_prev').attr({src:myprevimg});
  216. },function(){
  217. $('#'+fourthname+' #news_pause').attr({src:mypauseimg});
  218. if (activechk==mynextimg && activechkmore==myprevimg){
  219. timer=setTimeout(autonext,100,active);
  220. }
  221. if (activechk==mynextimg0){timer=setTimeout(autonext,100,active);}
  222. if (activechk==mynextimg && activechkmore==myprevimg0){timer=setTimeout(autoprev,100,active);}
  223. });
  224. }
  225. //end
  226. var _st = window.setTimeout;
  227. window.setTimeout = function(fRef, mDelay) {
  228. if(typeof fRef == 'function'){
  229. var argu = Array.prototype.slice.call(arguments,2);
  230. var f = (function(){ fRef.apply(null, argu); });
  231. return _st(f, mDelay);
  232. }
  233. return _st(fRef,mDelay);
  234. };
  235. function autonext(q){
  236. if (!q){q=0;}
  237. myend=$('#'+firstname+' .news_hide_style').size();
  238. myend=myend-1;
  239. if (q >= myend){q=0;}
  240. $('#'+fourthname+' #news_next').eq(q).click();
  241. q=q+1;
  242. }
  243. function autoprev(q){
  244. if (!q){q=0;}
  245. myend=$(".news_hide_style").size();
  246. myend=myend-1;
  247. if (q >= myend){q=0;}
  248. $('#'+fourthname+' #news_prev').eq(q).click();
  249. q=q+1;
  250. }
  251. timer=setTimeout(autonext,newsspeed,1);
  252. }
  253. });
  254. })(jQuery);