为了账号安全,请及时绑定邮箱和手机立即绑定

怎么判断滚动条滚动方向?【附demo】

怎么判断滚动条滚动方向?【附demo】

千万里不及你 2018-10-16 10:14:25
问题描述:怎么判断浏览器滚动条滚动方向?就是上下和左右滚动。demo:看控制台打印出来的数值codepen
查看完整描述

1 回答

?
达令说

TA贡献1821条经验 获得超6个赞

记得昨天在群里有人就问的这个问题。。。用闭包可以实现,关键是缓存好上次滑动时候的top和Left然后进行比较。

        function scroll() {

            if (window.pageYOffset != null) {

                // 支持IE9 +

                return {

                    left: window.pageXOffset,

                    top: window.pageYOffset

                }

            } else if (document.compatMode == 'CSS1Compat') {

                return {

                    left: document.documentElement.scrollLeft,

                    top: document.documentElement.scrollTop

                }

            }

            return {

                left: document.body.scrollLeft,

                top: document.body.scrollTop

            }

        }


        window.onscroll = (function () {

            var sLeft = scroll().left;

            var sTop = scroll().top;


            return function () {


                if (sTop != scroll().top) {

                    console.log('上下滚动')

                    sTop = scroll().top;

                }

                if (sLeft != scroll().left) {

                    //   console.log(sTop);

                    console.log('左右滚动')

                    sLeft = scroll().left;

                }

            }


        })();


查看完整回答
反对 回复 2018-11-29
  • 1 回答
  • 0 关注
  • 1199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信