我正在使用jQuery来改变div的高度,我之前使用的是静态值,但是现在我创建了一个使div达到其全高并将其返回到24px,现在效果很好在JSFiddle但不在网站上。
jQuery(".dsellactiontext").toggle(function(){
jQuery(this.parentNode).animate({
height: $(this.parentNode)[0].scrollHeight+'px'
}, 400);
},function(){
jQuery(this.parentNode).animate({height:24},600);
});
小提琴:http://jsfiddle.net/skoltyno/ZBR8G/
网站测试页:http://bocaratonrealestatemarket.com/jquery-test-page/
您可以在检查器中看到高度未切换为已满,但会将其切换为24px。
这是怎么回事?
答案 0 :(得分:0)
noConflict
mode,表示$
没有别名jQuery
。这意味着您的$(this.parentNode)[0].scrollHeight+'px'
会抛出错误(您可以在控制台中看到)。
尝试;
jQuery(this.parentNode)[0].scrollHeight+'px'
...或者,当你创建一个DOM元素的jQuery对象,然后立即访问DOM元素时,只需:
this.parentNode.scrollHeight+'px'
......应该足够了。