0

我有一个 DIV,它是在 javascript 代码中动态创建的,具有以下样式集:

-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
-moz-opacity: 0;
-khtml-opacity: 0;
opacity: 0;

我想使用 Jquery 淡入 DIV,但它不起作用。DIV 仍然有 opacity:0。我不能在 div 上使用 fadeOut,因为它是动态创建的,我需要在 DIV 中的图像加载后立即淡入。

有没有解决这个问题的方法。

4

4 回答 4

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();
})

我经常使用它来处理我需要开始隐藏然后淡入的事情。

于 2013-01-02T19:54:20.757 回答
0

改为使用animate

$('#your_div_id').animate({opacity: 1});
于 2013-01-02T19:31:12.120 回答
0

您可以尝试加载图像display: none而不是弄乱不透明度,然后将其淡入。

于 2013-01-02T19:36:42.957 回答
0

您可以使用 liveQuery(jquery 插件):https ://github.com/brandonaaron/livequery

“Live Query 通过绑定事件或自动触发匹配元素的回调来利用 jQuery 选择器的强大功能,即使在页面已加载且 DOM 更新后也是如此。”

$('.someClass').livequery(function() { 
    /*a .someClass is created*/
    $(this).fadeIn();
});

liveQuery 很好用!

于 2013-01-02T19:37:07.377 回答