JavaScript

用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')
        }
    }
}))
上一篇 下一篇

猜你喜欢

热点阅读