页面中加入回到顶部按钮的实现方法

        有时候我们在浏览网页时,看完了所有的信息,此时若需要返回顶部,不应该滑动滚动条而应使用一个快捷的方法立刻返回。简单列出几种方法:

 一、使用锚标记返回页面顶部 

      使用HTML锚标记最简单,就是看起来有点不好看,点击后会在地址栏显示这个锚标记,其它的倒没什么。 
      页面顶部放置: 
     <a name="top" id="top"></a> 
    放置位置在<body>标签之后随便找个地方放都可以,只要靠近顶部即可。 
     页面底部放置: 
   <a href="#top" target="_self">返回顶部</a> 

二、使用Javascript Scroll函数返回顶部 

scrooll函数用来控制滚动条的位置,有两种很简单的实现方式: 
方式1: 
<a href="javascript:scroll(0,0)">返回顶部</a> 
scroll第一个参数是水平位置x,第二个参数是垂直位置y,比如要想定位在垂直50像素处,改成scroll(0,50)就可以了。 
方式2: 
本方式是渐进式返回顶部,要好看一些,代码如下:  

function pageScroll() { 
window.scrollBy(0,-10); 
scrolldelay = setTimeout('pageScroll()',100); 
} 
<a href="pageScroll();">返回顶部</a> 

三、综合使用Javascript函数和window.scroll功能实现动态返回顶部 

可自行定义其滑动速度

html元素:

<h1>标题</h1>
	<div class="settop">          	
      <input type="button" value="返回顶部" id="top" οnclick="goback()">
    </div>

css样式:

body,input{margin:0;padding:0;}
       .settop {width: 100px;
       	        height: 30px;  
                position: fixed;
                bottom:50px;
                right:50px;
		        z-index: 2;
		        display: none;
		       }
		.settop input{width:100px;
			          height:30px;
			          outline: none;
			          font-size: 17px;
			          border-radius:10px;} 
		  body {
		  	   overflow-y: scroll;
		  	   height: 3000px;
		  	   width: 90%;
		  	   border: 1px solid red;
		  }
	}

JavaScript代码:

向下滚动到一定高度显示返回按钮,否则会隐藏按钮

代码实现:

1原生JS:

window.onscroll = function(){ 
	//考虑到浏览器的兼容性
	//chrome 支持body,IE,firefox支持documentElement
	//safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset
  var t = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; 
   var top_div = document.getElementsByClassName( "settop")[0]; 
    var num=300;  //自定义设置显滑动多少距离显示
    if( t >= num ) { 
     top_div.style.display = "inline"; 
   } else { 
     top_div.style.display = "none"; 
   } 
  } 

2.jQuery代码:

$(function(){
		$(window).scroll(function(){
			var num=300;
		if($(window).scrollTop() >= num)
			{$(".settop").show();}
        else  $(".settop").hide();
		});	    
	});

触发事件返回向上滑动goback()函数回到顶部:

function goback(){
     	window.scrollBy(0,-200); //每次滑动的像素距离
     	scrollDelay = setTimeout('goback()',30); //调用时间
        var stop = document.documentElement.scrollTop+document.body.scrollTop;
        if(stop==0)
        	clearTimeout(scrollDelay);
     	scroll(0,0);
     }









  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值