我搜索并找到了三个相当不错的帖子,但他们都在点击动画,而不是点击发送参数给一个函数,动画不是.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