我有一个容器和一个内部div占用容器宽度的100%。我希望容器能够立即扩展,但是将内部div保持在其当前尺寸,然后使用CSS过渡逐渐扩展它。这是原始的JS Fiddle no. 1。
因为这似乎不起作用(为什么?),即使应该立即应用CSS,我也会尝试使用此JS Fiddle no. 2延迟容器上的addClass
,这不起作用任
最后,在向前一个小提琴设置较长的延迟后,它可以使用1000毫秒而不是100毫秒。所以.css()
在1000ms后生效,但在100ms后没有生效?!
有谁可以告诉我为什么.css()
函数的行为就好像异步工作一样?
答案 0 :(得分:5)
要使#1生效,您需要使用此代码,从.css()
中取出setTimeout
:
$('.inner').css({
width: $('.inner').width() + 'px',
height: $('.inner').height() + 'px'
});
setTimeout(function() {
$('.container').addClass('big');
}, 1000);
您已将setTimeout
内的所有内容换成1000
毫秒,而不是$(function () {});
。