zoukankan      html  css  js  c++  java
  • 回到顶部

    回到顶部效果的方法总结


    js原生实现

    <a href="javascript:void(0)" id='top'>回到顶部</a>
    思路:利用scrollTop属性
        document.getElementById('top'); // 获取到元素
        onclick()  // 绑定事件
        window.onscroll=function(){}   //负责监听
        // 获取到scrollTop值 ,考虑兼容性
        document.body.scrollTop(谷歌)||document.documentElement.scrollTop(IE); 
        // 定时器
        setTimeout(); clearTimeout();
    步骤:
        var bTop=document.getElementById('top'); 
        window.onscroll=function(){
            var offsetY=document.body.scrollTop||document.documentElement.scrollTop;
            if(offsetY>200){
                bTop.style.display='block';
            }else{
                bTop.style.display='none';
            }
        };
        bTop.onclick=backTop;
        function backTop(){
            var topValue=document.body.scrollTop||document.documentElement.scrollTop;
            if(topValue==0){
                clearTimeout(timer);
                timer=null;
            }else{
                window.scrollBy(0,-20);
               var timer=setTimeout(backTop,10);
            }
        }
    

    jqury实现---相对简单多了

    <a href="javascript:void(0)" id='bTop'>回到顶部</a>
    思路:
        利用scrollTop()方法---获取或者设置垂直距离的偏移量
    步骤:
        // 让a元素显示
        $(window).scroll(function(){
            var offsetY=$(document.body)||$(document.documentElement).scrollTop();
            if(offsetY>200){
                bTop.style.display='block';
            }else{
                bTop.style.display='none';
            }
        });
        //回到顶部的动画效果
        $('#bTop').click(function(){
            var offsetY=$(window).scrollTop();
           var timer=setInterval(function(){
                if(offsetY==0){
                    clearInterval(timer);
                }else{
                    offset-=10;
                    $(window).scrollTop(offsetY);
                }
            },10)
        })
    

    还有一种超级好用的用jQuery实现的方法,那就是、那就是、那就是---animate()

    <a href="javascript:void(0)" id='bTop'>回到顶部</a>
       // 让a元素显示
        $(window).scroll(function(){
            var offsetY=$(document.body)||$(document.documentElement).scrollTop();
            if(offsetY>200){
                bTop.style.display='block';
            }else{
                bTop.style.display='none';
            }
        });
        // animate()实现回到顶部
        $('#bTop').click(function(){
         $(document.body).aniamte({'scrollTop':0},1000);
        });
       
    

    说明:animate()属于jQuery对象的方法,animate的第一个参数包括的不仅仅是CSS,它涵盖了所有可以用数值来表示的window属性值(scrollTop...)以及dom的CSS属性值(width、height、top..)。

  • 相关阅读:
    2018/12/08 L1-043 阅览室 Java
    2018/12/08 L1-042 日期格式化 Java
    breeze源码阅读心得
    Spark ML源码分析之四 树
    Spark ML源码分析之三 分类器
    Spark ML源码分析之二 从单机到分布式
    Spark ML源码分析之一 设计框架解读
    Adaboost的意义
    RBM如何训练?
    ChromeTimeline
  • 原文地址:https://www.cnblogs.com/king-ying/p/5933627.html
Copyright © 2011-2022 走看看