判断滚动条向上还是向下

经常会遇到的以下情形:

导航向下滚就隐藏,向上滚动就显示

实现滚动动画效果:向下滚动 左右两边的内容向中间移动,而向上滚动 两个内容又退回到左右两边;又或者向下滚动canvas放大,反之缩小

这些动画原理当知少不了scrollTop()函数;

scrollTop() 定义和用法
scrollTop() 方法设置或返回被选元素的【垂直滚动条位置】。

Note:

当滚动条位置位于最顶部时,位置是0;
当用于返回位置时:
该方法返回 第一个匹配元素的滚动条的垂直位置。语法: ( s e l e c t o r ) . s c r o l l T o p ( ) 当 用 于 设 置 位 置 时 : 该 方 法 设 置 所 有 匹 配 元 素 的 滚 动 条 的 垂 直 位 置 。 语 法 : (selector).scrollTop() 当用于设置位置时: 该方法设置 所有匹配元素的滚动条的垂直位置。语法: (selector).scrollTop()(selector).scrollTop(position) 参数position : 规定以像素为单位的垂直滚动条位置。

如何判断是up还是down

var a;

    function scroll( fn ) {
        var beforeScrollTop = document.body.scrollTop,
            fn = fn || function() {};
        window.addEventListener("scroll", function() {
            var afterScrollTop = document.body.scrollTop,
                delta = afterScrollTop - beforeScrollTop;
            if( delta === 0 ) return false;
            fn( delta > 0 ? "down" : "up" );
            beforeScrollTop = afterScrollTop;
        }, false);
    }
  //第一种写法
    scroll(function(direction) {
        // console.log(direction);
        a =  direction;
   });
 //第二种写法执行完事件后的回调函数
   function fn(direction) {
        // console.log(direction);
        a = direction;
    };

    window.onscroll=function(){
        console.log(a);
    }

来解决以上情形
通过判断向上或者向下,后,就是原理问题;

案例~~~~滚动内容往中间或两边移动效果
原理:先给元素设置一个left值让其隐藏,当滚动条到一定位置,改变其left值让其出现。改变幅度与滚动幅度正相关。透明度那个也是同理

复制代码

Hello World
Hello World
Hello World
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值