Javascript jQuery:tinycarousel带修改-覆盖有时太晚了(胡扯)
我有tinycarousel,我在上面盖了一层。每次移动功能结束时,我都想在这个覆盖中显示文本。当它自动切换时,每次都会显示正确的覆盖 但是,当我在幻灯片底部的寻呼机号码之间切换得太快时,有时覆盖层消失得太晚了Javascript jQuery:tinycarousel带修改-覆盖有时太晚了(胡扯),javascript,jquery,callback,slider,slideshow,Javascript,Jquery,Callback,Slider,Slideshow,我有tinycarousel,我在上面盖了一层。每次移动功能结束时,我都想在这个覆盖中显示文本。当它自动切换时,每次都会显示正确的覆盖 但是,当我在幻灯片底部的寻呼机号码之间切换得太快时,有时覆盖层消失得太晚了 ----->我更新了你的代码,我不确定你到底想要什么,所以如果出了什么问题,请问我 以下是演示: 我改变了什么: 我使用了javascriptsetTimeout方法,而不是.delay()。这将允许您使用clearTimeout方法重置超时: 就像这样: timeout = setTi
----->我更新了你的代码,我不确定你到底想要什么,所以如果出了什么问题,请问我 以下是演示: 我改变了什么: 我使用了javascript
setTimeout
方法,而不是.delay()
。这将允许您使用clearTimeout
方法重置超时:
就像这样:
timeout = setTimeout(function(){ //init the timer
$('#'+value).fadeOut("slow");
},7500);
$('#'+value).stop().fadeIn("slow");
您可以在需要时使用以下工具重置它:
clearTimeout(timeout); //reset the timer
请参阅JQuery的.delay()
文档:
.delay()方法最适合在排队的jQuery效果之间进行延迟。例如,由于它的局限性,它没有提供一种取消延迟的方法。delay()不是JavaScript本机setTimeout函数的替代品,后者可能更适合某些用例
我还使用了JQuery.stop
方法()在启动新动画之前停止当前正在运行的动画,如果在不同的滑块页面上快速单击,动画可能仍在运行
我是这样用的:
timeout = setTimeout(function(){ //init the timer
$('#'+value).fadeOut("slow");
},7500);
$('#'+value).stop().fadeIn("slow");
希望我能帮助你 真的很酷!!我想这几乎就是我想要的解决方案。但你现在是否也有同样的问题,当你在寻呼机之间快速切换时,文本有时会太快淡出,而下一个动画在淡出几秒钟后就开始了?是的,我看到了问题。我试图修复它,但我认为你的代码需要不同的结构!顺便说一句,我看到当你在旋转木马上悬停时,它停止滑动,但文本在7秒后仍然会淡出,这就是你想要的吗??它可以很容易地修复:)我试图修复“淡出太快”的问题,并且我还修复了当您单击已显示幻灯片的
li
时,它不应该再淡出并淡出相同的文本框;)告诉我这对你是否更好:是的,伙计!真的很棒!现在,我只需清除该功能,即当悬停处于活动状态时,淡出不会淡出!但当悬停处于非活动状态时,它必须在下一张幻灯片开始时立即消失。那就太完美了!你有解决这个问题的办法吗?因为你说过它可以很容易地修复:-)事实上它可以很容易地修复,唯一的问题是tinycarousel only回调是在动画完成时,而不是在动画开始时,所以我们无法使它在开始滑动时淡出。我不知道这对你的项目是否重要,但我认为这比以前更好:)见: