2010-04-21 6 views
1

어떻게 타임 아웃을 여러 번 설정할 수 있습니까?
pls help me ...jQuery cycle plugin

timeout:'1000, 2000, 3000' 이것은 작동하지 않습니다.

+0

Nick Craver는 관련 질문에 대한 훌륭한 답변을 제공합니다. http://stackoverflow.com/a/3075104/538962 – mg1075

답변

2

timeout 속성을 사용하는 대신 timeoutFn을 사용해야하며 다음 슬라이드를 기다리는 시간 (밀리 초)을 반환하는 함수를 정의해야합니다.

예를 들어 슬라이드가 3 개인 경우 (1000, 2000, 3000) 사용한 3 개의 시간 제한을 원할 경우 마지막 시간 초과 후에 다시 첫 번째 시간 제한을 사용하려는 것으로 가정합니다 (각 사진에 머물 시간이 있습니다) 화면에). 그래서이 경우 코드는 단순히 다음과 같습니다 한편

$('#s1').cycle({ 
    timeoutFn: function (curr, next, opts, isForward) { 
     return (opts.currSlide + 1) * 1000; 
    } 
}); 

, 당신은, 당신은 (배열과 카운터처럼) 자신의 속성을 사용하고이를 사용할 수있는 3 개 이상의 슬라이드를 설정하려면

: 마지막 타임 아웃 후 다른 슬라이드를 표시하지 않으려면
$('#s1').cycle({ 
    timeoutFn: function(currElement, nextElement, opts, isForward) { 
     opts.myTimeoutCount = (opts.myTimeoutCount + 1) % opts.myTimeouts.length; 
     return opts.myTimeouts[opts.myTimeoutCount]; 
    }, 
    myTimeouts: [1000, 2000, 3000], 
    myTimeoutCount: 0 
}); 

그리고 마침내

는, 당신은 단순히 autostop & autostopCount 속성을 사용한다 : 함수 내에서 해당 제한 시간을 계산하는