2014-10-29 3 views
0

내가 만든 jQuery 슬라이더 스크립트에 문제가 있습니다. 이 문제는 오랜 시간 내 브라우저에서 내 페이지를 열면 슬라이더가 가속화 될 때 발생합니다. js/jquery 수제 슬라이더 스크립트

function intervalTrigger() { 
     return window.setInterval(function() 
      { 
       $("#sliderControl ul li.currentSlideControl").removeClass("currentSlideControl"); 
       $("#sliderControl ul li:eq("+nextSlide+")").addClass("currentSlideControl"); 

       $("#topSlider ul.slider li.currentSlide").fadeTo(1500, 0).removeClass("currentSlide"); 
       $("#topSlider ul.slider li:eq("+nextSlide+")").fadeTo(1500, 1.0).addClass("currentSlide"); 
       nextSlide = ((nextSlide+1) < nbSlides) ? nextSlide+1 : 0; 

      }, 5000); 
     } 
    var id = intervalTrigger(); 

당신이 볼 수 있듯이

는, 각 슬라이드 사이의 간격은 5 초입니다,하지만 난 오랜 시간 동안 열려있는 페이지가있는 경우, 슬라이더가 가속 및 슬라이드 매우 이동 : 여기

내 JS 코드 빠른.

누군가 나에게 간격을 해제해야한다고 말하면서 어떻게해야할지 모르겠다. :/

나를 도와 줄 사람이 있습니까?

추신 : 내 나쁜 영어로 죄송합니다. :

+0

당신이 $ (문서)에서이 스크립트를 실행합니까 .ready() 건설 귀하의 의견과 영업 이익 사이의 연결 무엇 –

+2

@GlenSwift을;? 문제가 ..? –

+0

@RajaprabhuAravindasamy 슬라이더 이미지 노드가로드되기 전에 스크립트가 작동하기 시작합니다. –

답변

0

글렌 스위프트 -> 네 나는 $ (문서) .ready (function() {...}); 에 그것을 실행한다. 아마 내 문제의 근원지 모르지만 어떻게해야할지 모르겠다. 이를 해결하기 위해 다음과 같습니다/

내 완성 기능입니다 :

$(document).ready(function() { 


//////////////// 
// TOP SLIDER // 
//////////////// 

var nbSlides = $("#topSlider ul.slider li").length; 

for(var i=0; i<nbSlides; i++) { $("#sliderControl ul").append('<li><a href="#"></a></li>'); } 
$("#sliderControl ul li:eq(0)").addClass("currentSlideControl"); 

$("#topSlider ul li:eq(0)").addClass("currentSlide"); 

var currentSlide = 0; 
var nextSlide = ((currentSlide+1)<nbSlides) ? currentSlide+1 : 0; 
$("#topSlider ul.slider li.currentSlide").show(); 

if(nbSlides > 1) { 

    function intervalTrigger() { 
     return window.setInterval(function() 
      { 
       $("#sliderControl ul li.currentSlideControl").removeClass("currentSlideControl"); 
       $("#sliderControl ul li:eq("+nextSlide+")").addClass("currentSlideControl"); 

       $("#topSlider ul.slider li.currentSlide").fadeTo(1500, 0).removeClass("currentSlide"); 
       $("#topSlider ul.slider li:eq("+nextSlide+")").fadeTo(1500, 1.0).addClass("currentSlide"); 
       nextSlide = ((nextSlide+1) < nbSlides) ? nextSlide+1 : 0; 

      }, 5000); 
     } 
    var id = intervalTrigger(); 


    $("#sliderControl ul li a").click(function() { 

     $(this).stop(); 

     $("#sliderControl ul li.currentSlideControl").removeClass("currentSlideControl"); 
     $(this).parent().addClass("currentSlideControl"); 
     var slideIndex = $(this).parent().index(); 


     $("#topSlider ul.slider li.currentSlide").fadeTo(1500, 0).removeClass("currentSlide"); 
     $("#topSlider ul.slider li:eq("+slideIndex+")").fadeTo(1500, 1.0).addClass("currentSlide"); 

     clearInterval(id); 
     return false; 

    }); 
} 
관련 문제