我是jQuery的新手。我想得到特定元素的顶部偏移量。我使用以下方法:
var top = $("img").offset().top;
然而,它返回负值。我不明白为什么它会返回负值?最小值应该为零,或者我得到任何错误?
P.S。我在html文件中使用CSS3列中断。
非常感谢!!!
编辑:html文件的正文:
<div id="chapter-0">
<div>
<h1 xml:lang="en-us" id="toc-anchor">Main Title</h1>
<h2 xml:lang="en-us" id="toc-anchor-1">Subtitle 1</h2>
<p xml:lang="zh-hk"> text</p>
<p xml:lang="zh-hk"> text</p>
<h2 xml:lang="en-us" id="toc-anchor-2">Subtitle2</h2>
<p xml:lang="zh-hk"> text</p>
<p xml:lang="zh-hk"> text</p>
<h2 xml:lang="en-us" id="toc-anchor-3">Subtitle3</h2>
<p xml:lang="zh-hk"> text</p>
<p xml:lang="zh-hk"> text</p>
</div>
<div>
<img src="images/Table-01_fmt.jpeg" alt="Table-01.indd">
</div>
</div>
我用于检测图像高度的代码:
$(\"img\").each(function(i) {
var top = $(this).offset().top;
alert(top);
}
答案 0 :(得分:0)
如果您发布img
所在的html部分以及应用了CSS,那将很容易为您提供帮助。
编辑:
我检查了你发布的代码,我在jQuery部分有语法错误,经过纠正后我在Firefox和谷歌浏览器中都尝试过,它运行正常。
那么请你试试下面的html文件看看?唯一的区别是双引号并添加了jQuery代码中缺少的右括号。
这适用于Chrome。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script>
<script type='text/javascript'>
$(document).ready(function () {
$("img").each(function(i) {
var top = $(this).offset().top;
alert(top);
});
});
</script>
</head>
<body>
<div id="chapter-0">
<div>
<h1 xml:lang="en-us" id="toc-anchor">Main Title</h1>
<h2 xml:lang="en-us" id="toc-anchor-1">Subtitle 1</h2>
<p xml:lang="zh-hk"> text</p>
<p xml:lang="zh-hk"> text</p>
<h2 xml:lang="en-us" id="toc-anchor-2">Subtitle2</h2>
<p xml:lang="zh-hk"> text</p>
<p xml:lang="zh-hk"> text</p>
<h2 xml:lang="en-us" id="toc-anchor-3">Subtitle3</h2>
<p xml:lang="zh-hk"> text</p>
<p xml:lang="zh-hk"> text</p>
</div>
<div>
<img src="images/Table-01_fmt.jpeg" alt="Table-01.indd" />
</div>
</div>
</body>
</html>