2014-01-16 75 views
0

我想写一个相当简单的画廊预览样式的程序,如下图所示:延迟使用.show()和.hide()jQuery的函数功能

$(document).ready(function() { 
$('#moving_photos').mouseover(function() { 
    $('#img4').delay(1000).hide(500); 
    $('#img3').delay(2000).hide(500); 
    $('#img2').delay(3000).hide(500); 
    $('#img2').delay(5000).show(500); 
    $('#img3').delay(6000).show(500); 
    $('#img4').delay(7000).show(500); 
}); 

});

我的问题出现后,前三个图像已被隐藏。在下一个图像再次显示之前,大约有五秒钟的延迟,它看起来更像是函数重置而不是函数的完成。任何帮助,你可以提供将不胜感激。

+0

你可以给HTML太 –

+0

你说的“看起来更像是功能复位”意味着你的#IMG4 7秒的延迟?此外,由于您的函数调用不是异步的,因此会有5秒的延迟。你应该使用'setTimeout'。 – Zhihao

回答

1

delay()不适用于hide()show()。它与​​和fadeIn()

$('#moving_photos').mouseover(function() { 
    $('#img4').delay(1000).fadeOut(500); 
    $('#img3').delay(2000).fadeOut(500); 
    $('#img2').delay(3000).fadeOut(500); 
    $('#img2').delay(5000).fadeIn(500); 
    $('#img3').delay(6000).fadeIn(500); 
    $('#img4').delay(7000).fadeIn(500); 
}); 

工作同时,如果您希望图像淡入更快...

变化的延迟时间。 1000等于1秒。

所以有它开始淡入

之前
+0

没有意识到它与这些功能不兼容。你说得对,在花了几分钟时间玩完之后,它完美运作。谢啦 –