JS:让两个函数做同样的事情
JS: Making two functions do the same thing
有没有办法缩短它?
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' : '');
}
我试过写下面的内容,但它似乎自动将 header class 设置为置顶。
var scrollPos = function() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}();
window.onscroll = scrollPos();
你可以看到我的工作fiddle例子HERE
简单,只需将其命名为函数,调用它,并将其设置为 onscroll
处理程序。
function scroll() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}
scroll();
window.onscroll = scroll;
有没有办法缩短它?
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' : '');
}
我试过写下面的内容,但它似乎自动将 header class 设置为置顶。
var scrollPos = function() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}();
window.onscroll = scrollPos();
你可以看到我的工作fiddle例子HERE
简单,只需将其命名为函数,调用它,并将其设置为 onscroll
处理程序。
function scroll() {
var bodyTopPos =
header.style.top <
( document.body.scrollTop || document.documentElement.scrollTop ) -91;
header.setAttribute('class', bodyTopPos ? 'sticky' : '');
}
scroll();
window.onscroll = scroll;