有没有办法缩短它?
var scrollPos = function() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}();
window.onscroll = function() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}
我尝试过编写以下内容,但它似乎会自动将标题类设置为粘贴。
var scrollPos = function() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}();
window.onscroll = scrollPos();
您可以看到我的工作小提琴示例 HERE
答案 0 :(得分:1)
简单,只需将其设为命名函数,调用它,并将其设置为onscroll
处理程序。
function scroll() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}
scroll();
window.onscroll = scroll;