页面跳到顶部的方法

页面跳到顶部的方法

一、使用锚点链接

毫无疑问,使用锚点链接是一种简单的返回顶部的功能实现。该实现主要在页面顶部放置一个指定名称的锚点链接,然后我们在页面下方放置一个返回到该锚点的链接,用户点击该链接即可返回到该锚点所在的顶部位置。

示例代码如下:

<!-- 定义一个名称为top的锚点链接 -->

<a name="top"></a>

<!-- 这里是网页主体内容,此处省略 -->


<!-- 返回页面顶部top锚点的链接 -->
<a href="#top">返回顶部</a>

值得注意的是,在现代浏览器中,如果浏览器找不到指定的锚点(例如top),浏览器将会尝试跳转到id为top的HTML元素的起始位置。因此,我们也可以在头部放置一个id为top的HTML元素,遗憾的是,并不是所有的浏览器——尤其是某些浏览器的旧版本,都兼容这种行为。

二、使用js函数scrollTo()

当然,我们还可以利用JavaScript为我们提供的函数scrollTo(x, y)来实现返回到页面顶部的功能。scrollTo函数可以滚动到指定坐标(x, y)处的内容。我们将坐标设定为(0, 0)即可起到返回顶部的作用。

<a href="javascript:scrollTo(0,0);">返回顶部</a>

三、使用js操作DOM样式

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

// 以下三种方式均可实现返回页面顶部

$(window).scrollTop(0);

$('body').scrollTop(0);

$('html').scrollTop(0);

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

// 在500毫秒内平滑滚动到页面顶部

$('body').animate( {scrollTop: 0}, 500);

四、本方式是渐进式返回顶部,要好看一些,代码如下:


function pageScroll() { 
window.scrollBy(0,-10); 
scrolldelay = setTimeout('pageScroll()',100); 

<a href="pageScroll();">返回顶部</a>

这样就会动态返回顶部,不过虽然返回到顶部但是代码仍在运行,还需要在pageScroll函数加一句给停止掉。

复制代码 代码如下:if(document.documentElement.scrollTop==0) clearTimeout(scrolldelay);


五、简单的静态返回顶部,用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>

缺点:滚动效果不平滑,且在页面很长时点击返回顶部,未向上到达页面顶部无法再正常浏览页面;

同上依旧是静态固定于页面底部,不一定能曝光在用户面前。

posted @ 2016-07-27 17:10  需要GIS小工具找我  阅读(57567)  评论(1编辑  收藏  举报