zoukankan      html  css  js  c++  java
  • js 滚动到指定位置(带step 速度)

    function scroto(tray){
    var timer=setTimeout(function(){
    var curr_y=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; // 获取原始滚动告诉
    var step=40;
    if(curr_y<tray){ // 目标距离大于 原始距离 向下滚动
    var dist=Math.ceil((tray-curr_y)/step) //取每次滚动的距离
    var next=curr_y+dist
    if(next<tray){ // 如果小于 还要向下滚动
    window.scrollTo(0,next)
    scroto(tray) // 再次执行
    }else{ // 如果距离大于 超过 直接跳到 目标距离
    window.scrollTo(0,tray)
    }

    }else{
    var dist=Math.floor((tray-curr_y)/step) //取每次滚动的距离
    var next=curr_y+dist
    if(next>tray){
    window.scrollTo(0,next)
    scroto(tray) // 再次执行
    }else{
    window.scrollTo(0,tray)
    }
    }

    })
    }
    // 用法
     $(".a_clic").click(function () {
    scroto($($(this).attr("href")).offset().top)
    // $("html, body").animate({scrollTop: $($(this).attr("href")).offset().top -20+ "px"}, 500);

    return false;//不要这句会有点卡顿

    });
  • 相关阅读:
    第三次作业-有进度条圆周率计算
    第一周作业
    24点
    Cuber Sorting
    P1827 [USACO3.4]美国血统 American Heritage
    P4387 【深基15.习9】验证栈序列
    P2058 海港
    P4017 最大食物链计数
    P2196 挖地雷
    放苹果问题
  • 原文地址:https://www.cnblogs.com/itliulei/p/9223132.html
Copyright © 2011-2022 走看看