zoukankan      html  css  js  c++  java
  • 获取选中与清除选中

    【教学视频】获取/清除选中 案例:

    兼容性检测:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <script>
        window.onload = function () {
            document.onmouseup = function () {
                /* 高版本浏览器都支持  */
                /*console.log(window.getSelection().toString());*/
    
                /*  只有IE678支持  */
                console.log(document.selection.createRange().text);
                clearInterval()
            }
        }
    </script>
    <body>
    <div id="box">
        我可以被选择我可以被选择我可以被选择
        我可以被选择我可以被选择我可以被选择我
        可以被选择我可以被选择我可以被选择我可
        以被选择我可以被选择我可以被选择我可以被选择
        我可以被选择我可以被选择我可以被选择
        我可以被选择我可以被选择我可以被选择我
        可以被选择我可以被选择我可以被选择我可
        以被选择我可以被选择我可以被选择我可以被选择
    </div>
    </body>
    </html>

    清除选中:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>垂直拖动条==有bug:来回上下多次,发现拉倒底部文字不能完全显示</title>
        <style>
            .box {
                width: 280px;
                height: 500px;
                background-color: pink;
                padding-right: 20px;
                overflow: hidden;
                position: relative;
            }
            .box .content {
                padding-right: 20px;
                position: absolute;
                top: 0;
                right: 0;
            }
            .box .bar {
                width: 20px;
                height: 100%;
                background-color: #ccc;
                position: absolute;
                top: 0;
                right: 0;
            }
            .bar .mask {
                width: 100%;
                height: 40px;
                border-radius: 10px 10px 10px 10px;
                background-color: #a83c3a;
                cursor: pointer;
                position: absolute;
                top: 0;
                left: 0;
            }
        </style>
    </head>
    <body>
    <div class="box" id="box">
        <div class="content">
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
            内容内容内容内容内容内容内容内容内容内容内容内容
        </div>
        <div class="bar">
            <div class="mask"></div>
        </div>
    </div>
    </body>
    </html>
    <script>
        var box = document.getElementById("box");
        var content = box.children[0];
        var mask = box.children[1].children[0];
    
        /**
         * 垂直拖动
         * @target 受bar控制而移动的目标
         * @bar 滑动的bar
         */
        function veDrag(target,bar) {
    
            // 算出滚动条的高度,内容越多滚动条越短 h/bh = bh/ch;
            var barHeight = target.offsetParent.offsetHeight/target.offsetHeight*target.offsetParent.offsetHeight;
            bar.style.height = barHeight + "px";
    
            bar.onmousedown = function(event) {
                var event = event || window.event;
                // 按在bar身上某处的点距离该bar顶端距离 + box盒子距离浏览器距离
                var val = event.clientY - this.offsetTop;
                var that = this;
                document.onmousemove = function() {
                    var event = event || window.event;
                    // bar移动的距离
                    var barY = event.clientY - val;
                    //目标盒子移动的距离 (boxH-barH)*比例因子 = contentH-BoxH   【比例因子:bar走一步的像素相当于content走多少像素】
                    var targetTop = (target.offsetHeight-target.offsetParent.offsetHeight)/(target.offsetParent.offsetHeight-that.offsetHeight)*barY;
    
                    if(barY < 0 || targetTop < 0){
                        barY = 0;
                        target.style.top = 0; //去除标题中所说的bug
                    }else if(barY > target.offsetParent.offsetHeight-that.offsetHeight || targetTop > (target.offsetHeight-target.offsetParent.offsetHeight)/(target.offsetParent.offsetHeight-that.offsetHeight)*barY) {
                        barY = target.offsetParent.offsetHeight-that.offsetHeight;
                        //去除标题中所说的bug
                        target.style.top = -(target.offsetHeight-target.offsetParent.offsetHeight)/(target.offsetParent.offsetHeight-that.offsetHeight)*barY + "px";
                    }else {
                        target.style.top = -targetTop + "px";
                    }
                    that.style.top = barY + "px";
    
                    // 清除选择拖动,不写这句话,会出现如果滑的快,弹起后依旧跟着鼠标走
                    window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();   // 防止拖动滑块的时候, 选中文字
                }
    
                document.onmouseup = function() {
                    document.onmousemove = null;
                }
            }
        }
    
        veDrag(content,mask);
    
    </script>

     

    前进时,请别遗忘了身后的脚印。
  • 相关阅读:
    在没有备份的情况下重新创建丢失的数据文件 (Doc ID 1149946.1)
    How to recover a skipped tablespace after an incomplete recovery? (Doc ID 1561645.1)
    RMAN DUPLICATE DATABASE with SET NEWNAME failed: RMAN-05501 RMAN-05517 (Doc ID 387093.1)
    Rman Enhancements(增强) In Oracle 11g. (Doc ID 1115423.1)
    Resolving RMAN-06023 or RMAN-06025 (Doc ID 2038119.1)
    Checklist for an RMAN Restore (Doc ID 1554636.1)
    Recover With Until Time fails With RMAN-20207 When Time Is Before Last RESETLOGS (Doc ID 159405.1)
    ODA: After Apply ODA 12.2.1.2.0 Patch, Unable to Create TableSpace Due to [ORA-15001: diskgroup "DATA" does not exist or is not mounted | ORA-15040: diskgroup is incomplete] (Doc ID 2375553.1)
    How to restore and recover a database from an RMAN backup. (Doc ID 881395.1)
    How To Restore Rman Backups On A Different Node When The Directory Structures Are Different (Doc ID 419137.1)
  • 原文地址:https://www.cnblogs.com/liudaihuablogs/p/9483311.html
Copyright © 2011-2022 走看看