我正试图延迟淡出div。我使用的是JQuery,但Chrome 16中的延迟方法都不起作用,在FF 10中一切都很好。
msgCenter.style.display = "inline";
setTimeout('$("#messageCenter").hide("fade", { }, 1000);',4000);
$('#messageCenter').delay(4000).fadeOut();
这些都不适用于Chrome。
这适用于Chrome,但没有淡入淡出效果:
setTimeout('$("#messageCenter").hide();',4000);
谁能告诉我为什么?还有一种方法可以为Chrome添加淡化效果吗? 谢谢你的阅读。
答案 0 :(得分:1)
又一个解决方案:
setTimeout(function() {
$("#messageCenter").css('display', 'block').fadeOut();
}, 4000);
如果fadeIn也遇到问题:
$("#messageCenter").css({display: 'block', opacity: 0}).fadeIn();
答案 1 :(得分:1)
您必须使用JQuery动画,例如以下之一:
setTimeout('$("#messageCenter").fadeOut();', 4000);
setTimeout('$("#messageCenter").animate({ opacity: 0.0 }, 1000, function() { /* Animation complete */});', 4000);
答案 2 :(得分:1)
你的第二个选择应该有效。我设置了jsfiddle here,适用于Chrome 16.0.912.77。
答案 3 :(得分:0)
如果我将其设置为
msgCenter.style.display = "block";
它适用于上面提到的所有选项!对我来说似乎很奇怪。任何人都知道它为什么必须阻止而不是内联?
答案 4 :(得分:0)
这个怎么样:
setTimeout(function() {
$('#messageCenter').css("display","block").fadeOut(4000,function() {
$(this).css("display","inline");
});
});
答案 5 :(得分:0)
您还可以try $("#messageCenter").hide(4000)
...这会产生缩小动画......但是对于您的案例,请使用$("#messageCenter").fadeIn(4000)
或$("#messageCenter").fadeOut(4000)