动画不透明度无法正常工作

时间:2013-07-05 13:36:03

标签: jquery fade

我试图使用以下代码为元素的不透明度设置动画;

window.setInterval(function(){
    var target = $('.before'),
    opacity = target.css('opacity');

    target.fadeTo(600, (opacity==1?0:1))
    }, 5000);

当不透明度从1到0动画时,它可以正常工作,但是当从0到1动画时它根本没有动画,它只是立即从0变为1.

我尝试过使用fadeTo()animate()toggle()的各种方法,但无济于事

使用fadeToggle()按预期工作但实际上不是一个选项,因为它在动画完成后向元素添加了display:none,这与页面的布局混淆。

修改

解决:

我正在使用的网站是使用jQuery 1.4.4,更新到1.10.1解决了这个问题。

2 个答案:

答案 0 :(得分:0)

尝试使用window.setInterval(function(){ $('.before').animate($('.before').css('opacity', 1?0:1), 1000); }, 5000);

答案 1 :(得分:0)

您打算支持哪些浏览器?这可以通过css轻松完成 very - 只需使用jQuery添加/删除一个类,然后使用css过渡来处理不透明度淡入淡出。不透明度开启/关闭仍然可以在IE IE中使用,但它不会褪色。

或者,您可以使用fadeToggle并添加'display:block!important;' (或您需要的任何显示)元素。