【发布时间】:2013-07-19 03:48:43
【问题描述】:
我在一个简单的图片库中使用 jQuery。图片淡出,src 改变,然后淡入。
通常,上一个图像会淡入;只有当元素达到完全不透明度时,才会显示新图像。
什么可能导致延迟和随后跳转到新图像?
HTML
<div id="slide">
<img src="/img/products/image1.jpg">
</div>
JS
var index = 0;
$(function() {
if (srcs.length > 1) {
setInterval("slide(800, 800)", 6000);
}
});
function slide(o,i) {
index++;
if (index == srcs.length) index = 0;
$("#slide img").fadeOut(o, function() {
$(this).attr("src", path + srcs[index] + ext);
$(this).fadeIn(i);
});
}
编辑:我将fadeIn() 放入fadeOut() 的回调中,但现在每次 都会明显出现问题。图像一直淡出,然后一直淡入,然后发生变化。
解决方案:在this answer 中,.each() 函数在新图像的fadeIn() 期间导致轻微闪烁,但删除.each() 部分完全解决了此问题。
【问题讨论】:
-
此问题通常发生在您连续 2 次或多次单击查看下一个或上一个按钮时。如果有人在 400 毫秒后单击下一步按钮,则可能会发生此问题。
-
我在其他地方看到过,但我没有任何按钮。它只是在设定的时间间隔内淡出、变化和淡入。
-
可能只是需要在某个地方停下来,api.jquery.com/stop 试试看是否有帮助
-
你能推荐一个停下来的地方吗?
-
试试 $("#slide img").stop(true, false).fadeOut(....) 你可以玩弄真/假