我正在尝试学习 jQuery。我只是尝试使用基本的显示和隐藏创建一个带有下一个和上一个按钮的简单图片查看器。因此脚本的明显流程是首先隐藏上一个图像,然后显示下一个图像。但是有时当我快速单击下一个按钮时,它会显示下一个图像而没有完成上一个的 .hide() 。我需要一个优雅的方法来检查 .hide() 执行是否完成并等待它完成。这是代码片段
var picArray = new Array('#test1','#test2','#test3','#test4');
var picArrayIndex = 0;
$(document).ready(function()
{
$(picArray[picArrayIndex]).show();
$(".next-btn").click(function(){
picArrayIndex++;
if(picArrayIndex > picArray.length - 1)
{picArrayIndex = 0;
$(picArray[picArray.length - 1]).hide();
}
$(picArray[picArrayIndex - 1]).hide();
$(picArray[picArrayIndex]).animate({
opacity: 1,
hspace:80
}, 1000, function() {
// Animation complete.
});
$(picArray[picArrayIndex]).effect("bounce", { direction:'left', times:1 }, 500);
$(picArray[picArrayIndex]).show();
});
$(".prev-btn").click(function(){
picArrayIndex--;
if(picArrayIndex < 0)
{picArrayIndex = picArray.length - 1;
$(picArray[0]).hide();}
$(picArray[picArrayIndex + 1]).hide();
$(picArray[picArrayIndex]).show();
});
});