我正在使用新的position: sticky (信息)创建一个类似iOS的内容列表。
它工作得很好,比以前的JavaScript alternative (示例)要好得多,但是据我所知,当它被触发时不会触发任何事件,这意味着我不能在条形图到达页面顶部时做任何事情,这与以前的解决方案不同。
我想要添加一个类(例如,当带有** stuck**) 的元素到达页面顶部时,)。有办法用JavaScript听这个吗?jQuery的用法很好.
发布于 2020-07-02 15:21:10
@vsync的出色回答几乎是我所需要的,除了我通过Grunt“丑化”了我的代码,而Grunt需要一些旧的JavaScript代码样式。下面是我使用的调整脚本:
var stickyElm = document.getElementById('header');
var observer = new IntersectionObserver(function (_ref) {
var e = _ref[0];
return e.target.classList.toggle('isSticky', e.intersectionRatio < 1);
}, {
threshold: [1]
});
observer.observe( stickyElm );答案中的CSS没有变化。
https://stackoverflow.com/questions/16302483
复制相似问题