我搜索並找到了三個相當不錯的帖子,但他們都在點擊動畫,而不是點擊發送參數給一個函數,動畫不是.stop( ),stop(true,true)或event.stopPropagation()都可以工作,但也許我會把它放在錯誤的位置。因此我的問題。停止一個事件,並在動畫完成後恢復w/Javascript/jQuery
我試圖阻止的是(無論什麼原因)點擊快樂旋鈕誰點擊所有可用的鏈接快速回來和第四,並擰緊用於計算滑塊div /圖像應該在哪裏的數學計算。一旦動畫停止,圖像就會變得非常糟糕,所以我需要了解該怎麼說,「好吧,點擊了某些東西,不允許任何其他點擊,直到看到合適的圖像。」
同樣,我試圖做的和我發現的區別在於,動畫調用不是直接在點擊下發生,而是在點擊進行了一些計算並將這些數字發送到不同的功能。
我有這樣的:
$('#navs li').click(function() {
var currentLocationNum = $('li.cs_current').index();
var stepClicked = $(this).index();
if (stepClicked == currentLocationNum)
{ return false;
}
else {
var lftEdgeNx = $('.slidingChartHolder').position().left;
var newLeftEdge = (stepClicked - currentLocationNum) * imageWidth;
moveMaster(lftEdgeNx + newLeftEdge, stepClicked);
}
});
和移動功能:
function moveMaster(leftEdge, newcs_current) {
$('.slidingChartHolder').fadeTo(200, .2).animate({
left: leftEdge
}, "fast").fadeTo(200, 1);
$('li.cs_current').removeClass('cs_current')
$('li:eq('+newcs_current+')').addClass('cs_current');
if ($('li.cs_current').index() === 0) {
$('#previous').addClass('hideMe');
$('#next').removeClass('hideMe');
} else if ($('li.cs_current').index()==4){
$('#previous').removeClass('hideMe');
$('#next').addClass('hideMe');
}
else {
$('#previous').removeClass('hideMe');
$('#next').removeClass('hideMe');
}
}
感謝一些見解!
它看起來像使用[jsFiddle](http://jsifddle.net)更好。 – PeeHaa 2012-03-25 00:03:46