我正致力于在Angular应用中构建无限滚动功能。一次构建一个步骤,目前我已经将滚动事件监视器附加到#tags-col
或tagsCol
。
plnkr:http://plnkr.co/edit/7OnKAGvVNXWLwN5fZqJu?p=preview
我有一些代码可以返回tagsCol的最高y
值,但是当你向上滚动元素时,数字永远不会随日志一起更新,它会一直停留在118.8125
。
您如何获得tagsCol
的移动y值?或者更好的是,检测tagsCol
面板内部的底部/最后一个元素何时可见?
function getOffset(el) {
el = el.getBoundingClientRect();
return {
top: el.top + window.scrollY
}
}
var scrollingElement = function(event) {
console.log(tagsCol);
var yPos = getOffset(tagsCol).top
console.log(yPos);
};
document.getElementById('tags-col').addEventListener('scroll', scrollingElement);
答案 0 :(得分:0)
也许这个解决方案可能适合你。
var el = document.getElementById("tags-col");
var offsetTop = el.offsetTop;
function callback() {
if (offsetTop < window.pageYOffset) {
// do something
} else {
// do something else
}
}
if (window.addEventListener) {
window.addEventListener("scroll", callback, false);
} else {
window.attachEvent("onscroll", callback);
}
这有意义吗?