右下角小火箭,返回頂部-onscroll,scrollTo
阿新 • • 發佈:2019-02-07
右下角小火箭,返回頂部—onscroll,scrollTo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
padding: 0;
margin: 0;
}
.goTop{
position: fixed;
right : 100px;
bottom: 100px;
display: none;
}
</style>
</head>
<body>
<div class="goTop" id="rockToTop">
<img src="images/top.jpg" alt="">
</div>
<div class="content">
開始了!<br>
<p>我是內容</p ><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p ><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
<p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p><p>我是內容</p>
</div>
<script src="my.js" type="text/javascript"></script>
<script>
function show(id){
id.style.display="block";
}
function hide(id){
id.style.display="none";
}
var rockToTop = document.getElementById('rockToTop');
window.onscroll = function(){
scroll().top > 0 ? show(rockToTop) : hide(rockToTop); // 如果大於0 就顯示 否則隱藏
leader = scroll().top;
}
var leader = 0 , target = 0, timer = null;
rockToTop.onclick = function() {
target = 0; // 點選完畢之後 奔向0 去的 不寫也可以
timer = setInterval(function() {
leader = leader + (target - leader ) / 10;
window.scrollTo(0,leader); // 去往頁面中的某個位置
console.log(leader+" "+target);
if(leader == target) {
clearInterval(timer);
}
},20);
}
</script>
</body>
</html>
my.js
function show(obj) { obj.style.display = "block";}
function hide(obj) { obj.style.display = "none";}
function scroll() {
if(window.pageYOffset != null) // ie9+ 和其他瀏覽器
{
return {
left: window.pageXOffset,
top: window.pageYOffset
}
}
else if(document.compatMode == "CSS1Compat") // 宣告的了 DTD
// 檢測是不是怪異模式的瀏覽器 -- 就是沒有 宣告<!DOCTYPE html>
{
return {
left: document.documentElement.scrollLeft,
top: document.documentElement.scrollTop
}
}
return { // 剩下的肯定是怪異模式的
left: document.body.scrollLeft,
top: document.body.scrollTop
}