JavaScript实现的回到顶部效果

参考自:http://www.imooc.com/learn/65

几乎所有的网站都会有回到顶部的功能,可以直接用锚点(#)实现,但是跳转的很生硬。

1、使用插件,我之前在介绍两个JQuery插件 — 滚动和轮播说过一个滚动插件,使用效果不错。

我在自己的小项目使用了:旅行笔记

2、原生的JS实现。

有两个点,一个是window 的滚动事件:window.onscroll,另一个是setInterval和clearInterval。

具体内容见代码,里面注释了。

window.onload = function() {
    var btn = document.getElementById(‘btn‘);
    var timer = null;
    var isTop = true;

    var clientHeight = document.documentElement.clientHeight;

    window.onscroll = function() {
        var osTop = document.documentElement.scrollTop || document.body.scrollTop; //滚动条高度,不同浏览器获取方式不同

        //控制回到顶部按钮的显示,如果滚动条的高度大于屏幕的高度就显示
        if(osTop >= clientHeight) {
            btn.style.display = ‘block‘;
        } else {
            btn.style.display = ‘none‘;
        }

        //在滚动过程中,用户若滑动鼠标滚轮即可停止滑动
        if(!isTop) {
            clearInterval(timer);
        }
        isTop = false;
    }

    btn.onclick = function() {
        //每隔30ms执行一个,每次的速度逐渐减小,成为一种缓动效果,越靠近顶部越慢。
        timer = setInterval(function() {
            var osTop = document.documentElement.scrollTop || document.body.scrollTop; //滚动条高度
            var iSpeed = Math.floor(-osTop / 6);
            document.documentElement.scrollTop = document.body.scrollTop = osTop + iSpeed;
            isTop = true;

            if(osTop == 0) {
                clearInterval(timer);
            }
        }, 30);

    }
}

JavaScript实现的回到顶部效果

时间: 2024-10-06 19:55:24

JavaScript实现的回到顶部效果的相关文章

用javascript实现的“回到顶部”效果

最近在学习js,学习的视频来源是妙味js视频,在此首先感谢. 学到BOM这块的时候感触颇多,老师用的例子是“返回顶部”这个效果,虽然是个很老的效果,但是从中获益颇多.现记录如下:首先是HTML代码: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <style> 5 #btn1 {position:fixed; bottom:0; right:0;} 6 </style> 7 <meta http-equiv=&

用Javascript实现回到顶部效果

用Javascript实现回到顶部效果 经常看到网页中有回到顶部的效果,今天也研究一下回到顶部有哪些方法.众所周知,用锚链接是实现回到最简单的方法,但是从用户体验效果来说,并不是最好的.(锚链接回到顶部时太快了,而且用户可能在看到某个感兴趣的东西想停下来,却停不下来),针对上面的缺点,我们试着用Javascript的方法来得到实现.思路是这个样子的: 1.首先用html和css构建基本的例子,代码如下 html部分: <div class="box"> <img sr

jquery实现&quot;跳到底部&quot;,&quot;回到顶部&quot;效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

自写jquery网页回到顶部效果,渐隐图标,引用js文件即可

唔,进来开发需求,当网页内容草鸡多的时候,用户就需要有个按钮快速回到顶部,而不是自己去滚滑轮~ 原本以为比较难的说,因为上头要求全部用js来实现,哪个页面引用,哪个页面显示. 于是乎,本屌丝就尝试写了下,唔,没发现,还挺easy的说~~ 有屁我就快放了,直接上代码,屁放多了就成屎了~~唔,罪过,阿弥陀佛,阿门~~ $(function(){ var $btn_top = $('<a id="scrollTop"><img src="css/web/image

Javascript 实现回到顶部效果

html文件代码: <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="style.css"> <script type="text/javascript" src="script.js"><

【JavaScript Demo】回到顶部功能实现

随着网站的不断发展,需要展示的内容也越来越丰富,这导致网页上能展示的内容越来越多.当内容堆积影响了用户体验,就需考虑如何提升用户体验.在这一系列的改动中,“回到顶部”的功能成为了一个经典. 1.页面布局 (1) 我们先简单的搭建一个长度为1200px的页面,保证视口的高度足够. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta

回到顶部效果

<style> .box { width: 1190px; margin: 0 auto; } #btn { width: 40px; height: 40px; background: url(images.png) no-repeat left top;//回到顶部的小箭头 position: fixed; left: 50%; margin-left: 600px; bottom: 30px; display: none; } #btn:hover { background: url(i

实用的回到顶部效果

在各大网站上我们都可以看到一个回到顶部按钮,但它是怎么做的呢? 其实很简单,我们只需要将scrollTop的值置为0即可.但为了让回滚的效果更舒服,我们需要利用一点运动学的知识让页面滚动的速度由快变慢,例如speed = scrollTop/8. 先给出布局代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>

JS原生回到顶部效果

// 回到顶部 onload = function () { var oBtnTop = document.getElementById('toTop'); var timer = null; oBtnTop.onclick = function () { moveScroll(0, 500); return false; }; function moveScroll( iTarget, time ) { // 起点 var start = document.documentElement.sc