我有这个代码
var varheight;
$('.item-content').load("content/content.html", function(){
varheight = $('.item-content').css('height');
$('.item-content').css({height: 0});
$('.item-content').animate({'height': varheight}, 1000);
});
我想要它做的是加载容器中的内容,这样我可以在加载后得到容器的总大小,然后在用户看到它之前将高度设置为 0,然后慢慢地通过动画增加高度到它的大小。
看起来很简单,代码应该可以工作......但是,发生了一些奇怪的事情......如果我varheight
用这样的警报检查值:
var varheight;
$('.item-content').load("content/content.html", function(){
varheight = $('.item-content').css('height');
alert(varheight);
$('.item-content').css({height: 0});
$('.item-content').animate({'height': varheight}, 1000);
});
我得到 0。不应该,因为我刚刚在 .item-content 中加载了很多内容
奇怪的是,如果我删除接下来的 2 行,就像这样:
var varheight;
$('.item-content').load("content/content.html", function(){
varheight = $('.item-content').css('height');
alert(varheight);
});
我得到了真正的价值(大约 1300 像素,这不是这里的重点)。
我不禁想知道,即使这些线还没有达到,这个值怎么会改变呢?如果该变量不再更改,并且最糟糕的是,警报出现在这些行之前,它们如何影响该变量的值?
我在这里疯了!