Javascript 如何使用offset().top和forEach循环

Javascript 如何使用offset().top和forEach循环,javascript,jquery,arrays,foreach,Javascript,Jquery,Arrays,Foreach,谢谢你关注我的问题。我有一个位置固定的导航条和一个ul。当偏移量()大于偏移量()时,我想对每个li分别应用一个类。导航顶部大于偏移量()。每个li顶部。当用户向下滚动页面时,应该1)显示每个li,2)给每个li一个类,使其在页面上显示动画 var nav = $('#nav').offset().top; [].forEach.call(document.getElementsByClassName('portfolio_pieces'), (function(piece){ conso

谢谢你关注我的问题。我有一个位置固定的导航条和一个ul。当偏移量()大于偏移量()时,我想对每个li分别应用一个类。导航顶部大于偏移量()。每个li顶部。当用户向下滚动页面时,应该1)显示每个li,2)给每个li一个类,使其在页面上显示动画

var nav = $('#nav').offset().top;

[].forEach.call(document.getElementsByClassName('portfolio_pieces'), (function(piece){
  console.log(piece);
  if (piece.offset().top < nav) {
    $(piece).show().addClass("rollIn");
  }
}));
var nav=$('#nav').offset().top;
[]forEach.call(document.getElementsByClassName('portfolio_pieces'),(函数(piece){
控制台。原木(件);
如果(工件偏移量().顶部<导航){
$(件).show().addClass(“rollIn”);
}
}));
我正试图通过forEach循环来实现这一点;但是,控制台告诉我piece.offset不是一个函数。每件作品代表一个li,带有“portfolio_pieces”类。是否有其他方法来实现这一点,或者我是否遗漏了任何不允许偏移处理这些li元素的内容

非常感谢您的阅读,如果您有任何想法,请分享

如果要使用,则应将其应用于jQuery元素。就你而言:

$(piece).offset().top
如果要坚持使用纯Javascript,请选中:

说明:您使用了Javascript的方法,该方法:

返回具有所有属性的所有子元素的类似数组的对象 给定的类名

因此,您不能将jQuery方法应用于其中任何一个

piece.offsetTop