jQuery的$(this).height()在IE6和Safari 4.0.2中工作不正常。

kaukiyou 2010-07-10 01:55:22
Firefox下工作正常,IE6和Safari 4.0.2问题一样,值小。
在$(document).ready()中执行以下代码,取一个div的高度,返回值小于实际值。

var height = 0;

$("div.menu", layout).each(function () {

height = $(this).height() + 20;

});
如果在页面中某个链接上加个事件执行这段代码,返回值正常。

如果点击回退按钮回到这一页面,返回值也正确。

请指教。
...全文
290 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaukiyou 2010-11-26
  • 打赏
  • 举报
回复
应该是没有问题的.

再次感谢国家 感谢jQuery
kaukiyou 2010-07-12
  • 打赏
  • 举报
回复
在国外论坛问了下,应该是跟图片加载有关系。

图片的大小会影响这个div的高度:)

等大侠详细解释后,会再更新这个post。
马老虎 2010-07-10
  • 打赏
  • 举报
回复
IE6 很纠结。。。。
阿非 2010-07-10
  • 打赏
  • 举报
回复
恩,应该放在 window.onload 里查看问题是否依旧。
  • 打赏
  • 举报
回复
可以不在$(document).ready()中执行,把这段代码放在window.onload里,若不行,就在window.onload里再加个settimeout去调用这段代码。作用就是等待浏览器把布局自动调整完成。
  • 打赏
  • 举报
回复
div.menu和里面的内容,是不是在CSS里没明确指定高度,如果明确指定的话是不是就可以了。

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧