HTML页面内跳转的实现

1.使用默认链接锚记

最简单的方法,只需添加一个超链接,给超链接的href属性设置值为“#top”即可实现返回顶部的功能。

<a href="#top">
		超链接
</a>
2.href指向特定ID

在页面现有的标签中,使用“返回顶部”的连接的href指向顶部具有id属性的标签,以实现返回顶部的功能。这种方法,需要在页面顶部的标签中有具有id属性的标签,来实现指向顶部。亦可自定义添加。

<body id="bh-page">
		...
		<a href="#bh-page">
		     超链接
		</a>   
</body>
3.使用自定义链接锚记

这种方法,就是使用的自定义链接锚记了,必须要定义锚记,然后使用超链接指向锚。
这种方法其实跟第二种方法差不多,只不过必须要额外定义一个链接锚记。

<a name="gohere"></a>						//定义一个超链接,跳转到这个,可以没有文字
.....
<a href="#gohere">
		超链接
</a>
4.使用简单函数

可以设置scrollTo(0,0)中的x、y的值来跳转到页面的具体位置。

<a href="javascript:window.scrollTo(x,y)>
	超链接
</a>
5.使用jquery操作DOM样式

使用js将body或html等元素的scrollTop属性设置为0,即可滚动到页面的顶部。一般使用jQuery来实现上述代码。

// 以下三种方式均可实现返回页面顶部
$(window).scrollTop(0);
$('body').scrollTop(0);
$('html').scrollTop(0);

此外,我们还可以使用jQuery的动画效果函数animate()来实现平滑滚动到页面顶部的动画效果。

// 在500毫秒内平滑滚动到页面顶部
$('body').animate( {scrollTop: 0}, 500);
6.渐进式返回顶部
function pageScroll() { 
		window.scrollBy(0,-10); 
		scrolldelay = setTimeout('pageScroll()',100); 
} 
<a href="pageScroll();">返回顶部</a>

//这样就会动态返回顶部,不过虽然返回到顶部但是代码仍在运行,还需要在pageScroll函数加一句给停止掉。
if(document.documentElement.scrollTop==0) 
		clearTimeout(scrolldelay);
7.简单的静态返回顶部,用js模拟滚动效果上滑至顶部
.js
function pageScroll(){
        //把内容滚动指定的像素数(第一个参数向右滚动的像素数,第二个参数向下滚动的像素数)
        window.scrollBy(0,-100);
        //延时递归调用,模拟滚动向上效果
        scrolldelay = setTimeout('pageScroll()',100);
        //获取scrollTop值,声明了DTD的标准网页取document.documentElement.scrollTop
        // 否则取document.body.scrollTop;
  		// 因为二者只有一个会生效,另一个就恒为0,所以取和值
     	//可以得到网页的真正的scrollTop值
        var sTop=document.documentElement.scrollTop+document.body.scrollTop;
        //判断当页面到达顶部,取消延时代码(否则页面滚动到顶部会无法再向下正常浏览页面)
        if(sTop==0) clearTimeout(scrolldelay);
    }
.html
<a onclick="pageScroll()">返回顶部</a>

缺点:滚动效果不平滑,且在页面很长时点击返回顶部,未向上到达页面顶部无法再正常浏览页面;
同上依旧是静态固定于页面底部,不一定能曝光在用户面前。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值