用jq实现当鼠标往下滚动时头部隐藏,往上则出现
2018-07-13 本文已影响47人
Lia代码猪崽
const debounce = function(idle, action) {
let last
return function() {
const ctx = this, args = arguments
clearTimeout(last)
last = setTimeout(function() {
action.apply(ctx, args)
}, idle)
}
}
window.addEventListener('scroll', debounce(50, function(e) {
let scrollY = 0
if (window.scrollY) {
scrollY = window.scrollY
} else {
scrollY = $(document).scrollTop()
}
if (scrollY < 50) {
return $header.stop().slideDown('fast')
}
e.target.oldScrollTopPosition = e.target.scrollTopPosition || 0
e.target.scrollTopPosition = (window.pageYOffset || document.scrollTop) - (document.clientTop || 0) || 0
let direction = 'down'
if (e.target.scrollTopPosition - e.target.oldScrollTopPosition < 0) {
direction = 'up'
}
if (e.target.scrollTopPosition > 0) {
if (direction === 'down') {
$header.stop().slideUp('fast')
} else {
$header.stop().slideDown('fast')
}
}
}))