bannerslide.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. $(function () {
  2. bannerSlide();
  3. function bannerSlide() {
  4. var $slide = $('.slide'); //ul.slide
  5. var $arr_slide = $('.slide li'); //ul.slide li
  6. var $img = $('.sel');
  7. var $num = $('.num'), $num_w = $num.outerWidth();
  8. var $arr_num = $('.num li'); //ul.num
  9. var $arrow = $('.arrow li'); //ul.arrow
  10. var img_src = [];
  11. var sequence = [];
  12. var bgColor=[];
  13. $arr_slide.each(function () {
  14. var i=$(this).index();
  15. var start=[],end=[];
  16. bgColor.push($arr_slide.eq(i).find('img').attr('data-color'));
  17. img_src.push($arr_slide.eq(i).find('img').get(0).src);
  18. start.push(img_src[i].lastIndexOf('/'));
  19. end.push(img_src[i].lastIndexOf('.'));
  20. sequence.push(img_src[i].substring(parseInt(start)+1,parseInt(end)));
  21. $arr_slide.eq(i).css('background',bgColor[i]);
  22. });
  23. var timer=null;
  24. var cur_i=0;
  25. //set $num position
  26. $num.css('margin-left',($num_w/2+450));
  27. timer=setInterval(autoRun,5000);
  28. $img.hover(function(){
  29. clearInterval(timer);
  30. //$arrow.fadeIn();
  31. },function(){
  32. timer=setInterval(autoRun,5000);
  33. //$arrow.fadeOut();
  34. });
  35. $('.sel,.arrow li').hover(function(){$arrow.css({'opacity':1})},function(){$arrow.css({'opacity':0})})
  36. $arr_num.mouseover(function () {
  37. changeColor($(this).index());
  38. cur_i=$(this).index();
  39. });
  40. $arrow.click(function(){
  41. var cur_img=$('.active').index();
  42. $(this).index()==0?cur_img=cur_img-1:cur_img=cur_img+1;
  43. if(cur_img==$arr_slide.length){
  44. cur_img=0
  45. }
  46. changeColor(cur_img);
  47. cur_i=cur_img;
  48. });
  49. function autoRun(){
  50. cur_i==$arr_slide.length-1?cur_i=0:cur_i++;
  51. changeColor(cur_i);
  52. }
  53. function changeColor(q){
  54. $arr_num.eq(q).addClass('active').siblings().removeClass('active');
  55. $arr_slide.eq(q).css("z-index","10").siblings().css("z-index","0");
  56. $arr_slide.eq(q).stop(true,false).fadeIn(1500).siblings().stop(true,false).fadeOut(1500);
  57. $arr_slide.eq(q).find('img').stop(true,false).animate({'opacity':1},1500);
  58. $arr_slide.eq(q).siblings().find('img').stop(true,false).animate({'opacity':0},1500);
  59. }
  60. }
  61. });