搜尋

首頁  >  問答  >  主體

javascript - 求推薦一個jquery滑動塊插件,功能很簡單

需要這樣一個滑桿插件,很簡單,但是從網路上找了好久找不到合適的,求大神推薦一個,可以依賴jquery,但不要依賴jquery ui和其他函式庫

某草草某草草2735 天前693

全部回覆(4)我來回復

  • ringa_lee

    ringa_lee2017-05-19 10:37:24

    抽了點時間,寫了一個,不知道符合規則不
    傳送門:https://jsfiddle.net/0u17c6r0/

    <!DOCTYPE html>
    <html lang="zh">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            .ranger {
                width: 200px;
                height: 10px;
                border-radius: 5px;
                background: lightgrey;
                position: relative;
                margin: 100px auto;
            }
            .dot {
                width: 20px;
                height: 20px;
                position: absolute;
                left: 0;
                top:-5px;
                background: #227dc5;
                border-radius: 10px;
                cursor: pointer;
            }
            .tip {
                position: absolute;
                width: 60px;
                height: 25px;
                text-align: center;
                line-height: 25px;
                left: -20px;
                top: -30px;
                background: #227dc5;
                color: white;
            }
            .tip:before{
                content: '';
                position: absolute;
                width: 0;
                height: 0;
                border: 5px transparent solid;
                border-top-color: #227dc5;
                left: 25px;
                top: 25px;
            }
        </style>
    </head>
    <body>
        <p class="ranger">
            <p class="dot">
                <p class="tip">0%</p>
            </p>
        </p>
        <script type="text/javascript">
            var dot = document.querySelector('.dot'),
                tip = document.querySelector('.tip'),
                startX = 0,
                dotX = 0;
            
            dot.addEventListener('mousedown', mouseDown);
            document.addEventListener('mouseup', mouseUp);
    
            function mouseDown(e) {
                startX = e.clientX;
                dotX = dot.offsetLeft;
                document.addEventListener('mousemove', mouseMove);
            }
    
            function mouseUp() {
                document.removeEventListener('mousemove', mouseMove);
            }
    
            function mouseMove(e) {
                var left = Math.min(Math.max(dotX+(e.clientX - startX), 0), 180),
                    percentage = parseInt(left/1.8)+'%';
                tip.innerText = percentage;
                dot.style.left = Math.min(Math.max(dotX+(e.clientX - startX), 0), 180)+'px';
            }
        </script>
    </body>
    </html>

    回覆
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:37:24

    bootstrap-slider

    可以用一下這個,我用過還可以。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-05-19 10:37:24

    input range就可以呀.
    如果要考慮相容性可以試試 nouislider (https://refreshless.com/nouis...

    回覆
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:37:24

    這麼簡單的需求, 又找了許久找不到, 那為什麼不自己寫一個呢?

    伸手黨真是猖狂,直接就踩我了。

    回覆
    0
  • 取消回覆