我正在尝试使用纯 JavaScript 编写一个简单的脚本,这会产生位置粘性效果。下面的代码对我很有效。
var siteHeader = document.getElementById('siteHeader'),
siteNav = document.getElementById('siteNav');
window.onscroll = function() {
if ( siteNav.offsetTop < document.documentElement.scrollTop + 26 || siteNav.offsetTop < document.body.scrollTop + 26) {
siteHeader.setAttribute("class","sticky");
}
else {
siteHeader.setAttribute("class","");
}
}
有没有更聪明的方法来写这行?
if ( siteNav.offsetTop < document.documentElement.scrollTop + 26 || siteNav.offsetTop < document.body.scrollTop + 26) {
我试着写这个,但它似乎没有按照我想要的方式工作。
siteNav.offsetTop ? document.documentElement.scrollTop + 26 : siteNav.offsetTop < document.body.scrollTop + 26
如果三元条件看起来很愚蠢,请道歉。