在已设置不透明度样式的DIV上使用Jquery fadeIn()

时间:2013-01-02 19:30:14

标签: javascript jquery css

我有一个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中的图像后立即淡入。

这个问题有什么解决方法吗?

4 个答案:

答案 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很好用!