我希望获得对象的所有顶部位置,但随后浏览器会抛出错误:
sections[i].position is not a function
$(window).scroll(function (event) {
var scroll = $(window).scrollTop();
var sections = $("[id*='sec-']");
for (i=0; i < sections.length; i++) {
sections[i] = sections[i].position();
console.log(sections[i]);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="sec-1" class="section"></section>
<section id="sec-2" class="section"></section>
<section id="sec-3" class="section"></section>
<section id="sec-4" class="section"></section>
答案 0 :(得分:4)
.position()不是javascript函数。 你的意思是jQuery函数$ .position()。
因此您的代码:
sections[i].position();
错误,必须如下所示:
$(sections[i]).position();
这是您的JSFiddle的更新版本:http://jsfiddle.net/2xs2Ljz9/
希望这会对你有所帮助。祝你有愉快的一天。