我有一个DIV,它是在javascript代码中动态创建的,具有以下样式集:
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
-moz-opacity: 0;
-khtml-opacity: 0;
opacity: 0;
我想使用Jquery淡化DIV,但它不起作用。 DIV仍然具有不透明度:0。我不能在div上使用fadeOut,因为它是动态创建的,我需要在加载DIV中的图像后立即淡入。
这个问题有什么解决方法吗?
答案 0 :(得分:1)
只需手动重置CSS,然后将其淡入:
$("#myDiv").css({"-ms-filter": "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)", "-moz-opacity": 1, "-khtml-opacity": 1, "opacity": 1, "visibility": hidden}).fadeOut(0, function(){
$(this).css({"visibility": "visible"}).fadeIn();
})
我经常使用它来开始隐藏然后淡入的东西。
答案 1 :(得分:0)
改为使用animate
。
$('#your_div_id').animate({opacity: 1});
答案 2 :(得分:0)
您可以尝试使用display: none
加载图片,而不是弄乱不透明度,然后将其淡入。
答案 3 :(得分:0)
您可以使用liveQuery(jquery插件):https://github.com/brandonaaron/livequery
“Live Query利用jQuery选择器的强大功能,通过绑定事件或自动神奇地触发匹配元素的回调,即使在加载页面并更新DOM之后也是如此。”
$('.someClass').livequery(function() {
/*a .someClass is created*/
$(this).fadeIn();
});
liveQuery很好用!