我试图使用以下代码为元素的不透明度设置动画;
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解决了这个问题。
答案 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;' (或您需要的任何显示)元素。