jQuery fadeOut没有改变显示属性

在http://judi.simpleupdates.com/上我试图使用jQuery fadeInfadeOut效果在页面上制作幻灯片。 这两个项目fadeIn没有问题。 但是, fadeOut不会更改应该消失的divdisplay属性。 任何想法为什么这可能没有按预期工作?

这是失败的线:

 $( ".carousel_item:nth-child(" + selected + ")" ).fadeOut(600); 

更新:问题似乎是fadeOut在没有widthheight的元素上。 将值添加到div.carousel_itemwidthheight属性时, fadeOut调用将正常工作。 另一种方法是从后代img移除position: absolute ,导致div增长到img维度。

问题似乎是fadeOut在一个没有widthheight的元素上。 当值添加到div.carousel_itemwidthheight属性时, fadeOut调用正常工作。 另一种方法是删除position: absolute从后代img导致div增长到img维度。

感谢您的所有帮助和建议!

难道你只需要在jQuery-selector中相互替换当前和所选变量? 当我理解它你想要淡出当前和淡出所选择的,不是吗?

将HTML中的显示设置更改为

应正确触发fadeIn / fadeOut。

您可能还需要将jQuery更改为: $( ".carousel_item:nth-child(" + selected + ")" ).fadeOut(600).hide();

您正在对设置为display: block项目调用fadeIn / fadeOut。 它需要备用状态才能工作。

更新下载站点的本地副本后,将js中的showhide()函数更改为:

 var inc = 1 function showhide(current) { if (inc == 1) current = 2; $( ".carousel_item:nth-child(" + selected + ")" ).fadeIn(600); $( ".carousel_item:nth-child(" + current + ")" ).fadeOut(600).hide(); selected = current; inc++; } 

适用于我的测试。 希望它适合你。 我添加了计数器,因为您的初始计数似乎将selectedcurrent设置为1。