`

页面点击按钮返回顶部

阅读更多

 

若无具体要求,推荐使用第三种方法

 

 

1.有缓冲且按钮的显示隐藏需要判断滚动条位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        #btn {
            position: fixed;
            bottom: 0;
        }

    </style>
</head>
<body style="height: 10000px">
<a href=" " id="btn" style="display: none">回到顶部</a >
<script>
    window.onload = function(){
        var btn = document.getElementById('btn');
        // 获取视界高度;
        var winH = document.documentElement.clientHeight;
        // 定义计时器;
        var timer = null;
        // 定义是否抵达顶部布尔值判断;
        var isTop = true;
        // 设置滚动事件;
        window.onscroll = function(){
            var toTop = document.body.scrollTop || document.documentElement.scrollTop;
            // 判断是否到了第二屏,若是,显示按钮;
            if (toTop >= winH) {
                btn.style.display = 'block';
            }else{
                btn.style.display = 'none';
            };
            // 判断是否抵达顶部,若否,停止计时器;
            if (!isTop) {
                clearInterval(timer);
            };
            // 重置布尔值判断;
            isTop = false;
        }
        // 设置按钮单击事件;
        btn.onclick = function(){
            // 设置计时器,50毫秒间隔;
            timer = setInterval(function(){
                var toTop = document.body.scrollTop || document.documentElement.scrollTop;
                // 设置速度,用等式而不用具体数值是为了产生缓动效果;
                var speed = Math.ceil(toTop/5);
                // 作差,产生缓动效果;
                document.documentElement.scrollTop = document.body.scrollTop = toTop - speed;
                // 重置布尔值判断;
                isTop = true;
                // 判断是否抵达顶部,若是,停止计时器;
                if (toTop == 0) {
                    clearInterval(timer);
                };
            },50);
        }
    }
</script>
</body>
</html>

 2.点击无缓存跳到页面顶部:

①使用HTML的锚标记:唯一的缺点就是样式不怎么样,而且会在url里显示这个锚标记
<a name="top" id="top"></a>放置位置在只要靠近顶部即可

页面底部放置:<a href="#top" target="_self">返回顶部</a>

<a name="top"></a>
...
<div style="position: fixed; top: 529px; left: 1269px; display: block;">
        <a href="#" title="回到顶部">
            <img src="http://static.blog.csdn.net/images/top.png" alt="TOP"></a>
    </div>

 

②Javascript Scroll函数:<a href="javascript:scroll(0,0)">返回顶部</a>

scroll第一个参数是水平位置,第二个参数是垂直位置,比如要想定位在垂直50像素,scroll(0,50)即可

 

 3.有缓存但按钮一直位于底部(绝对位置)

<a onclick="pageScroll()" class="return-top">返回顶部</a>
//写到页面底部,就是</body>前

 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);
    }

 积累拓展:

scrollTo() 方法可把内容滚动到指定的坐标,所以也可以这样写

 

<a href="Javascript:window.scrollTo(0,0)">返回顶部</a>
//等价于
<a href onclick="window.scrollTo(0,0);">返回顶部</a>

 

scrollBy() 方法可把内容滚动指定的像素数(右,下);

setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式(记时调用)

clearTimeout() 方法可取消由 setTimeout() 方法设置的 timeout

scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置

计时调用方法可用于计时器,代码如下:(一秒加一,点击停止后计时终止)

 

<html>
<head>
<script type="text/javascript">
var c=0
var t
function timedCount()
{
document.getElementById('txt').value=c
c=c+1
t=setTimeout("timedCount()",1000)
}
function stopCount()
{
clearTimeout(t)
}
</script>
</head>
<body>
<form>
<input type="button" value="开始计时!" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="停止计时!" onClick="stopCount()">
</form>
<p>
请点击上面的“开始计时”按钮。输入框会从 0 开始一直进行计时。点击“停止计时”可停止计时。
</p>
</body>
</html>

 

 

一、使用锚点链接

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

示例代码如下:

<!-- 定义一个名称为top的锚点链接 -->
<aname="top"></a>

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


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

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

二、使用js函数scrollTo()

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

<ahref="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);

 

 

分享到:
评论

相关推荐

    页面不在顶部时则右边显示返回顶部按钮否则不现实

    "页面不在顶部时则右边显示返回顶部按钮否则不现实"这个设计思路正是为了提升用户在浏览长页面时的便捷性。返回顶部的功能是一个常见且实用的交互元素,它允许用户快速地将浏览器滚动到页面的起始位置,而无需手动...

    JS鼠标点击下端返回顶部特效.zip

    实现这一功能的核心在于编写一个JavaScript函数,该函数在用户点击按钮时触发页面滚动到顶部的动作。以下是一个简单的实现示例: ```javascript // 获取页面底部的返回顶部按钮元素 var backToTopBtn = document....

    JS 简单的点击返回顶部的功能

    在JavaScript编程中,"点击返回顶部"功能是一个常见的交互设计,它允许用户通过单击一个按钮迅速滚动到页面的顶部,提升用户体验。本教程将详细解释如何实现这一功能。 首先,我们需要在HTML中创建一个返回顶部的...

    jquery返回顶部隐藏按钮.rar

    点击按钮时,利用`animate()`方法平滑滚动到页面顶部。 ```javascript $(document).ready(function() { $(window).scroll(function() { if ($(this).scrollTop() &gt; 100) { // 当页面滚动超过100像素时,显示按钮 ...

    jQuery返回顶部特效,网页右下角的回到顶部按钮

    5. **点击事件处理**:为返回顶部按钮添加点击事件,使用`$(window).scrollTop(0)`方法,使页面滚动条回到顶部。 6. **动画效果**:为了增加用户体验,可以使用jQuery的`.animate()`方法,让页面平滑地滚动回顶部,...

    jQuery插件页面滚动返回顶部按钮

    对于返回顶部按钮,我们通常会创建一个固定在屏幕底部或侧边的按钮,当用户向下滚动页面时显示,点击按钮时页面立即回到顶部。这个过程可以分为以下几个步骤: 1. **HTML结构**:在页面中添加一个返回顶部按钮,...

    带返回顶部按钮的固定网页右侧悬浮菜单特效

    3. 使用JavaScript编写滚动监听和按钮点击事件的逻辑,确保在合适的时候显示或隐藏返回顶部按钮,以及点击后页面能够返回顶部。 以上就是关于"带返回顶部按钮的固定网页右侧悬浮菜单特效"的主要知识点。在实际开发...

    jQuery右侧悬浮返回顶部和分享按钮代码

    // 点击按钮,平滑滚动到顶部 }); ``` 这段代码使用了`fadeIn`和`fadeOut`方法来控制按钮的可见性,以及`animate`方法实现平滑滚动效果。 【jQuery分享按钮】 在网页中添加社交分享功能可以增加用户的互动性和...

    jQuery带微博按钮返回顶部效果.zip

    【jQuery带微博按钮返回顶部效果】是一个网页交互特效,它结合了jQuery库和CSS3技术,为用户提供了一种新颖的返回顶部体验。该特效在页面滚动到底部时,会在右下角显示一个带有微博图标的小按钮,点击后页面将平滑...

    js动态返回顶部

    点击按钮时,触发`onclick`事件,使用`scrollTo`方法将页面的水平和垂直滚动位置都设置为0,从而实现返回顶部的效果。 为了使这个功能更好地融入网页,我们可以考虑增加一些动画效果,比如平滑滚动,这可以通过CSS3...

    jQuery实现返回顶部按钮效果

    3. **jQuery代码**:接下来,我们需要编写JavaScript代码来监听滚动事件并控制按钮的显示与隐藏,以及实现点击按钮返回顶部的功能。`gotoTop.js`文件应该包含了这部分代码。例如: ```javascript $(document)....

    jQuery带微博按钮返回顶部效果

    以上就是实现jQuery带微博按钮返回顶部效果的完整步骤。通过这个示例,你可以学习到如何结合HTML、CSS和jQuery来实现一个实用的交互功能。同时,这也涉及到事件监听、元素定位、CSS样式设计以及动画效果的创建,这些...

    【JavaScript源代码】JavaScript实现返回顶部按钮案例.docx

    JavaScript 实现返回顶部...用户在页面底部时可以方便地找到返回顶部的选项,而且点击按钮后,页面会平滑地滚动回顶部,而不是瞬间跳转。此外,通过监听滚动事件动态调整按钮的可见性,使得页面在滚动过程中更加自然。

    仿太平洋返回顶部

    在"返回顶部"功能中,JavaScript主要负责监听用户的滚动行为,当用户滚动到页面一定位置时,显示返回顶部按钮;当点击该按钮时,JavaScript则会执行滚动动画,将页面平滑地滚动回顶部。 **jQuery库** jQuery是一个...

    返回顶部按钮

    点击按钮时,触发页面滚动到顶部的动画效果。这可以通过JavaScript的`window.onscroll`事件和`window.scrollTo`方法实现。 3. **动画效果**:为了提供更好的用户体验,通常会添加平滑滚动效果,而不是瞬间跳转。这...

    CSS3动画返回顶部按钮代码.zip

    同时,点击按钮时,可能使用了`$.animate()`函数来实现平滑的滚动效果,将页面滚动到顶部。 文件"说明.htm"很可能是对这个插件的使用说明,包含了如何在自己的项目中引入和配置此插件的步骤。通常,这会包括添加CSS...

    html返回顶部

    最后,我们使用JavaScript来实现点击按钮后返回顶部的功能。这里我们将使用`window.scrollTo`方法: ```javascript document.getElementById('goTop').addEventListener('click', function() { window.scrollTo({ ...

    jQuery实现返回顶部

    // 点击按钮,平滑滚动到页面顶部 $('#back-to-top').click(function(e) { e.preventDefault(); $('html, body').animate({ scrollTop: 0 }, 800); // 800ms内平滑滚动 }); }); ``` 4. **加载jQuery库** 在...

    返回顶部按钮动画设计.

    5. **交互反馈**:当用户点击返回顶部按钮时,按钮应该提供明确的反馈,如改变颜色、形状或者显示加载状态,让用户知道操作已被接收并正在执行。 6. **响应式设计**:考虑到不同设备的屏幕大小和触控方式,返回顶部...

Global site tag (gtag.js) - Google Analytics