2011-12-05 154 views
0

我需要在内部div淡出之后使'content'div生动。尽管我添加了回调,但fadeOut动画仍然有效。有人能告诉我在回调函数中搞砸了什么吗?jquery回调问题

<script type = 'text/javascript'> 
$(document).ready(function() { 
    $('#content').click(function() { 
     $('#topcontent,#bottomcontent').fadeOut(400, function() { 
      $('#content').css({ 
       position:'relative', 
       background-color:'black' 
      }).animate({ 
       height:$(window).height(), 
       width:$(this).width() 
      },400); 
     }); 
    }); 
}); 
</script> 
</head> 
<body> 
    <div id = 'wrapper'> 
     <div id = 'content'> 
      <div id = 'topcontent'> 
      TOP<br /> 
      </div> 
      <div id = 'bottomcontent'> 
      BOTTOM 
      </div> 
     </div> 
    </div> 
</body> 

回答

2

你的问题是在的.css()调用... background-color:'black'应该background: 'black'

或指出在注释 “背景色”: '黑'

+0

http://jsfiddle.net/3MCbe/ – biziclop

+1

或'“背景颜色”:“黑”' - 它在导致一个不带引号键连字符语法错误。 – nrabinowitz

+1

它应该可能是'backgroundColor',而不仅仅是'background',因为这是问题中使用的属性。 –

3
$('#content').css({ 
    position:'relative', 
    'background-color':'black' 
}) 

-字符是JS中减法运算符,在这里是无效的(即使你试图减去数字)。用引号包装属性可以解决这个问题。

+0

或'backgroundColor'保存3个字符:) –

+0

确实,我只是觉得在JS和CSS中解释外壳会超出答案的范围。 –

0

取而代之。

backgroundColor:'black'; 

或大卫建议

'background-color':'black'