7

我有这种奇怪的行为.fadeIn()

如果我写

$('#MyDiv').show();

div 显示得很好。

但是,如果我写

$('#MyDiv').fadeIn(400);

div 显示但不透明0

前一行是:

$('#MyDiv').hide()
    .html(TheHTML)
    .css('top', 0);

更新:如果我写$('#MyDiv').show(400);

div 也保持在 opacity 0

4

4 回答 4

6

某些 CSS 在隐藏时会覆盖您的 div。最好将不透明度样式添加到您的 div 为 1。

否则,

$('#MyDiv').css('opacity','1');

在你的淡入淡出电话之后......

于 2012-06-01T06:19:33.520 回答
6

试试 jQuery .fadeTo函数。

.fadeTo( duration, opacity [, callback] )  
.fadeTo( duration, opacity [, easing] [, callback] )  

样本:

$('#book').fadeTo('slow', 0.5, function() {
  // Animation complete.
});
于 2012-06-01T06:37:49.697 回答
2

以下将使其随心所欲地可见

$('#MyDiv').animate({
  opacity: 1
},400);

您可以尝试以下操作:

$('#MyDiv').fadeIn(400, function(){
    $(this).css('opacity', 1)
});

演示

但我认为你也应该工作得很好。看这里

于 2012-06-01T06:13:21.370 回答
0

检查你是否有

opacity: 0 !important;

//or

opacity: 0;

opacity在这种情况下,在您的 css 中,您必须像这样自己手动更改

$('#MyDiv').fadeIn(400,function(){
   $(this).css('opacity',1);
});

检查这个小提琴。第一个 div 永远不会出现。

于 2012-06-01T06:22:34.373 回答