Дважды срабатывает функция в слайдере
Доброго времени суток.
Написал скрипт слайдера на jQuery. Структура: список заголовков, под ними сам слайдер. При клике на заголовок - смена слайда. Также сделал автоплей + пауза при ховере. Проблема в том, что иногда функция автоплей срабатывает дважды. В чем ошибка? $(document).ready(function(){ currentslide = 1; $(".newslidernav li").click(function(){ var position = $(this).position(); var slideIndex = $(this).index() + 1; currentslide = slideIndex; showslide(slideIndex, position); }); function showslide(slideIndex, position){ $(".newslidermarker").animate( {left: position.left+20}, { duration: 500, easing: 'swing', complete: function() { $(".newslidernav li.act").removeClass("act"); $(".newslidernav li:nth-child("+slideIndex+")").addClass("act"); } } ); $("#newslider li.act").css({zIndex: 0}); $("#newslider li:nth-child("+slideIndex+")").css({opacity: 0, display: "block", zIndex: 50}).animate( {opacity: 1}, { duration: 500, easing: 'swing', complete: function() { $("#newslider li.act").removeClass("act").css({opacity: 0, display: "none"}); $("#newslider li:nth-child("+slideIndex+")").addClass("act").css({opacity: 1, display: "block"}); } } ); } $("#newslider li:first-child").addClass("act").css({display: "block"}); $(".newslider li:first-child").addClass("act"); letsgo = setInterval(function(){autoplay();},5000); $(".newslider").hover(function(){ letsgo = clearInterval(letsgo); },function(){ letsgo = setInterval(function(){autoplay();},5000); }); function autoplay(){ var countitems = $(".newslidernav li").length; var nextslide = currentslide + 1; if(nextslide>countitems){currentslide=0; nextslide=1;} $('.newslidernav li:nth-child('+nextslide+')').click(); } }); Зарание благодарен за помощь, советы. |
Часовой пояс GMT +3, время: 06:38. |