我不能找出我的生活爲什麼第二次點擊下一個按鈕不會觸發roate。調用函數在一次,但不是另一個
這兩個$ slideNumber的值都是1 2 3或4,而且我已經使用alert來告訴我這是事實。
其基本上不會觸發rotate();在第二個
點擊數完美的作品;
//Paging + Slider Function
rotate = function() {
var triggerID = $slideNumber - 1; //Get number of times to slide
var image_reelPosition = triggerID * divWidth; //Determines the distance the image reel needs to slide
//Slider Animation
$(".image_reel").animate({
left: -image_reelPosition
}, 500);
};
//click on numbers (this one works)
$(".paging a").click(function() {
$active = $(this); //Activate the clicked paging
$slideNumber = $active.attr("rel");
rotate(); //Trigger rotation immediately
return false; //Prevent browser jump to link anchor
});
//click on next button (this one does not work)
$('#next').click(function() {
var left_indent = parseInt($('.image_reel').css('left')) - divWidth;
var slideNumberOn = (left_indent/divWidth);
var slideNumber = ((slideNumberOn * -1) + 1);
$slideNumber = slideNumber;
rotate(); //Trigger rotation immediately
return false; //Prevent browser jump to link anchor
});
HTML:
<div class="paging">
<a href="#" rel="1">one</a>
<a href="#" rel="2">two</a>
<a href="#" rel="3">three</a>
<a href="#" rel="4">for</a>
</div>
<div class="nav">
<a id="prev" class="active" href="#">prev</a>
<a id="next" class="active" href="#">next</a>
</div>
你可以驗證1)非操作實例正在被調用,並且2)'$ slideNumber'保存了正確的值嗎? – Dutchie432 2012-02-03 15:34:16
使用全局變量幾乎總是一個壞主意。您應該傳遞'$ slideNumber'和'divWidth'作爲參數。 – 2012-02-03 15:35:14
通過不起作用,你的意思是函數不會被調用?你的下一個按鈕的html是什麼樣的? – 2012-02-03 15:35:20