关于“回到顶部”的一些笔记

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>回到顶部</title>
<style>
.bg{
width: 1190px;
margin: 0 auto;
}
#btn{
width: 40px;
height: 40px;
position: fixed;
right: 65px;
bottom: 10px;
background: url(images/top_bg.png) no-repeat 0 0 ;
display: none;
}
#btn:hover{
background-position: 0 -39px;
}

</style>
</head>
<body>
<a href="javascript:;" id="btn" title="回到顶部"></a>
<div class="bg">
<img src="images/tb_bg.jpg" alt="bg"/>
</div>
<script>
window.onload = function(){
var oBtn = document.getElementById(‘btn‘);
// 获取屏幕可视高度
var oHeight = document.documentElement.clientHeight;
var timer = null;
// 一开始就要把myTop设为ture,不然会一开始就执行window.onscroll 的函数
var myTop = true;
oBtn.onclick = function(){
// 获取被卷上去的高度document.documentElement和document.body是为了兼容
// var oTop = document.documentElement.scrollTop || document.body.scrollTop;
// alert(oTop);
// 指点跳到页面总高度的600px的位置
// document.documentElement.scrollTop = document.body.scrollTop = 600;

//每次点击往上跳200px
// document.documentElement.scrollTop = document.body.scrollTop -= 200;
timer = setInterval(function(){
var oTop = document.documentElement.scrollTop || document.body.scrollTop;
// 向上取整,比如0.5会取整为1
var iSpeed = Math.ceil(oTop/5);
// 每次都把myTop设为ture,才不会一直卡
myTop = true;
document.documentElement.scrollTop = document.body.scrollTop = oTop - iSpeed;
oTop == 0 && clearInterval(timer);
},30);
}
window.onscroll = function(){
var oTop = document.documentElement.scrollTop || document.body.scrollTop;
// 控制按钮的显示与隐藏
if(oTop >= oHeight){
oBtn.style.display = ‘block‘;
}else{
oBtn.style.display = ‘none‘;
}
// myTop为false才会执行
if(!myTop){
clearInterval(timer);
}
// 每次都要把myTop 设为 false,因为timer循环每次都把myTop设为ture
myTop = false;
}
}

</script>
</body>
</html>

时间: 2024-12-24 16:18:10

关于“回到顶部”的一些笔记的相关文章

前端笔试题笔记(回到顶部组件)

前端笔试题笔记(回到顶部组件) 题目要求:当页面向下滚动距顶部一定距离(如100px)时出现,向上回滚距顶部低于同样距离时隐藏,点击返回顶部组件时页面滚动到顶部: 这题一共4个问题要解决:向下滚动距顶部一定距离(如100px)时出现.上回滚距顶部低于同样距离时隐藏.点击返回顶部组件时页面滚动到顶部.始终定位在某个位置(一般来说是右下角) 第一个和第二个问题用在window.onscrollTop中,判断document.body.scrolTop的值加以判断即可,同时设定空间的display最原

HTML学习笔记之二(回到顶部 与 回究竟部)

回到顶部 回究竟部 回到顶部的俩种方式 一.使用js $('html, body').animate({ scrollTop: 0 }, 'fast');//带动画 $('html,body').scrollTop(0); //不带动画 $(window).scroll(function () { //You've scrolled this much: $('p').text("You've scrolled " + $(window).scrollTop() + " pi

HTML学习笔记之二(回到顶部 与 回到底部)

回到顶部 回到底部 回到顶部的俩种方式 一.使用js $('html, body').animate({ scrollTop: 0 }, 'fast');//带动画 $('html,body').scrollTop(0); //不带动画 $(window).scroll(function () { //You've scrolled this much: $('p').text("You've scrolled " + $(window).scrollTop() + " pi

JavaScript实现的回到顶部效果

参考自:http://www.imooc.com/learn/65 几乎所有的网站都会有回到顶部的功能,可以直接用锚点(#)实现,但是跳转的很生硬. 1.使用插件,我之前在介绍两个JQuery插件 — 滚动和轮播说过一个滚动插件,使用效果不错. 我在自己的小项目使用了:旅行笔记 2.原生的JS实现. 有两个点,一个是window 的滚动事件:window.onscroll,另一个是setInterval和clearInterval. 具体内容见代码,里面注释了. window.onload =

JQuery实现回到顶部

当一个页面的内容比较长时,一般都在页面的右下角的固定位置有个"回到顶部"的按钮,点击后,页面的滚动条逐渐回滚到顶部,本篇来描述一个它的实现过程. 首先,需要有一个按钮 <button id="btn_top" title="回到顶部"> 回到顶部 </button> 然后给这个元素定位到右下角,我们使用position:fixed.下面这个按钮加一些最基本的样式 #btn_top { position: fixed; bo

Angular回到顶部按钮指令

之前的分页代码指令化在线下测试没有问题,到服务器上就不运行了,所以那个先放一放. 今天来把"回到顶部"按钮指令化.首先是页面html: <!--回弹按钮--> <back-button></back-button> 指令的单词在html中使用横杠分隔,而在js代码中使用驼峰法,没毛病,简单不解释: /* 回弹按钮指令 * */ app.directive('backButton', function() { return { restrict: 'E

html css jquery 回到顶部按钮

今天做了个回到顶部的功能,在这里记录一下,有需要可以拿去试试! CSS部分,很简单就一个class /*回到顶部*/ .back-top { position: fixed; right: 15px; bottom: 15px; z-index: 9999; font-size: 25px; width: 40px; height: 40px; background-color: #adadad; color: #ffffff; cursor: pointer; border-radius: 2

转:5种回到顶部的写法从实现到增强

http://www.cnblogs.com/xiaohuochai/p/5836179.html 前面的话 本文先详细介绍回到顶部的5种写法,然后对其实现功能增加,最后得到最终实现 写法 [1]锚点 使用锚点链接是一种简单的返回顶部的功能实现.该实现主要在页面顶部放置一个指定名称的锚点链接,然后在页面下方放置一个返回到该锚点的链接,用户点击该链接即可返回到该锚点所在的顶部位置 [注意]关于锚点的详细信息移步至此 <body style="height:2000px;">

浮动【电梯】或【回到顶部】小插件:iElevator.js

iElevator.js 是一个jquery小插件,使用简单,兼容IE6,支持UMD和3种配置方式,比锚点更灵活. Default Options _defaults = { floors: null, btns: null, backtop: null, selected: '', sticky: -1, visible: { isHide: 'no', numShow: 0 }, speed: 400, show: function(me) { me.element.show(); }, h