一种用javascript实现的比较兼容的回到顶部demo + 阻止事件冒泡
回到页面顶部demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body { height: 2000px; } #up { position: fixed; bottom: 0; right: 0; width: 100px; height: 100px; background: #c1c1c1; } </style> </head> <body> <div id="up"></div> <script> window.onload = function (){ var oDiv = document.getElementById("up"); var timer = null; var bySys = true; //如何检测用户拖动了滚动条 window.onscroll = function (){ if (!bySys) { clearInterval(timer); } bySys = false; } oDiv.onclick = function (){ timer = setInterval(function() { var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; var iSpeed = Math.floor(-scrollTop/8); if (scrollTop === 0) { clearInterval(timer); } bySys = true; document.body.scrollTop = scrollTop + iSpeed; document.documentElement.scrollTop = scrollTop + iSpeed; }, 30); } } </script> </body> </html>
阻止事件冒泡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #box { width: 100px; height: 200px; background: #000; display: none; } </style> </head> <body> <input type="button" value="显示" id="btn"> <div id="box"></div> <script> var oBtn = document.getElementById("btn"); var oBox = document.getElementById("box"); oBtn.onclick = function (ev){ var oEvent = ev || event; oBox.style.display = 'block'; oEvent.cancelBubble = true; // 阻止事件冒泡 } document.onclick = function (){ oBox.style.display = 'none'; } </script> </body> </html>