zoukankan      html  css  js  c++  java
  • 移动端滚动条滚动收集

    1.锚点链接

    2.document.getElementById(rewardid).scrollIntoView(); 

    3.

    Math.easeout = function (A, B, rate, callback) {
        if (A == B || typeof A != 'number') {
            return;    
        }
        B = B || 0;
        rate = rate || 2;
        
        var step = function () {
            A = A + (B - A) / rate;
            
            if (A < 1) {
                callback(B, true);
                return;
            }
            callback(A, false);
            requestAnimationFrame(step);    
        };
        step();
    };
    var doc = document.body.scrollTop? document.body : document.documentElement;
    Math.easeout(doc.scrollTop, 0, 4, function (value) {
        doc.scrollTop = value;
    });

     页面滚动到指定位置:

    const rewardid = getUrlParameter('reward_id');
                             const rewardEle = document.getElementById(rewardid); 
                                if(rewardid && rewardEle){
                                  let re = rewardEle.getBoundingClientRect();
                                  this.scrollSmoothTo(re.top - 150);
                                } 
    
    -----------------------------------------------------
    
    
    scrollSmoothTo(position) {
                    if (!window.requestAnimationFrame) {
                            window.requestAnimationFrame = function(callback, element) {
                                return setTimeout(callback, 17);
                        };
                    }
                    // 当前滚动高度
                    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                    // 滚动step方法
                    var step = function () {
                        // 距离目标滚动距离
                        var distance = position - scrollTop;
                        // 目标滚动位置
                        scrollTop = scrollTop + distance / 5;
                        if (Math.abs(distance) < 1) {
                            window.scrollTo(0, position);
                        } else {
                            window.scrollTo(0, scrollTop);
                            requestAnimationFrame(step);
                        }
                    };
                    step();
                }
  • 相关阅读:
    POJ 3579 Median (二分)
    POJ 2976(01分数划分+二分)
    CodeForces
    hdu3555 Bomb(数位dp)
    hdu 2476 String painter(区间dp)
    poj 2955 Brackets(区间dp)
    HDU 2665(主席树,无修改第k小)
    BNUOJ ->Borrow Classroom(LCA)
    poj 2763(在线LCA+树状数组)
    Jmeter-常用线程组设置及场景运行时间计算
  • 原文地址:https://www.cnblogs.com/sybboy/p/12842914.html
Copyright © 2011-2022 走看看