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..)。

  • 相关阅读:
    ReportingServices报表管理器实现订阅
    sharepoint部署
    在sharepoint工程中添加引用
    asp:DropDownList选择事件出错
    ETL项目
    javascript refresh page 刷新页面的几种方法(转)
    innerHtml 和 innerText用法:(转载)
    用JavaScript隐藏控件的方法(转)
    JS中onpropertychange事件和onchange事件区别
    Window 对象
  • 原文地址:https://www.cnblogs.com/king-ying/p/5933627.html
Copyright © 2011-2022 走看看