2013-12-14 19 views
1

我已經創建了這個以下小提琴:的setTimeout() - 在劃分不正確輸出滑塊

http://jsfiddle.net/kzQFQ/76/

它示出了當我不手動選擇幻燈片正確的顯示,它自動地改變的基礎上的幻燈片setTimeout。但是當我通過點擊下面三個點從三個幻燈片(在小提琴中)中選擇一個幻燈片時,它會導致不正確的輸出顯示。我知道問題是由於剩下的其他超時引起的。我嘗試過使用clearTimeout但沒有工作。

請幫

以下是代碼:

var check=0; 
var Wwidth=$(window).width()-9; 

$(document).ready(function() { 
$('.contentContainer').css({'width':''+Wwidth+'px'}); 

$('.three').click(function() { 
    $('.container').animate({ 
     'left': '-1120px' 
    }); 
    clearTimeout(timer); 
    var timer=setTimeout(function() {$('.one').click();}, 6000); 
}); 

$('.two').click(function() { 
    $('.container').animate({ 
     'left': '-560px' 
    }); 
    clearTimeout(timer); 
    var timer=setTimeout(function() {$('.three').click();}, 6000); 
});  

$('.one').click(function() { 
    $('.container').animate({ 
     'left': ''+0+'px' 
    }); 
    clearTimeout(timer); 
    var timer=setTimeout(function() {$('.two').click();}, 6000); 
}); 
var timer=setTimeout(function() {$('.two').click();}, 6000); 
}); 
+0

是否使用'click'當你的意思'trigger'? –

+0

@LayTaylor我不明白你在問什麼。 – Zword

+0

我不確定爲什麼你要在超時時間內添加點擊處理程序 –

回答

3

變量timer您使用的是本地的,所以當你通話清晰,他們是undefined

在全局範圍內添加var timer,這樣它將成爲全局變量,然後您將能夠清除超時。

你能做到在這樣的第一行:

var timer; 
var check=0; 
var Wwidth=$(window).width()-9; 

var timer =在其他行刪除var

編輯:

這樣的:

timer=setTimeout(function() {$('.one').click();}, 6000); 
+2

好吧,我明白了。謝謝。我也在裏面寫了var timer。我沒有注意到它。 – Zword