zoukankan      html  css  js  c++  java
  • 一种用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;
                 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 {
                 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>
  • 相关阅读:
    Linux内核链表——看这一篇文章就够了
    2的幂和按位与&——效率
    fgets注意事项
    GDB TUI
    GDB TUI
    linux shell命令行选项与参数用法详解
    What are the differences between Perl, Python, AWK and sed
    What is the difference between sed and awk
    /proc/sysrq-trigger
    C++ Sqlite3的基本使用
  • 原文地址:https://www.cnblogs.com/zhongshanblog/p/4649524.html
Copyright © 2011-2022 走看看