最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)拖動滑塊效果

 更新時間:2021年09月28日 09:26:46   作者:新時代農民工Top  
這篇文章主要為大家詳細介紹了js實現(xiàn)拖動滑塊效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了js如何拖動滑塊的具體代碼,供大家參考,具體內容如下

實現(xiàn)拖動滑塊,先分析,滑塊可以拖動應該改變滑塊在頁面中的坐標,那就采用定位拿到元素的 top left 對它們進行賦值,接下來就是準備事件,既然是鼠標拖動應該具備 mousedown,mousemove,mouseup 三種事件,通過 mousedown 鼠標按下事件選中滑塊,mousemove 事件拖動滑塊,在拖動滑塊的時候獲取鼠標在可視窗口的坐標賦值給滑塊的 top left

具體代碼實現(xiàn)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        div {
            width: 60px;
            height: 60px;
            background-color: coral;
            border-radius: 20%;
            position: absolute;
            border: 6px solid skyblue;
            left: 0;
            top: 0;
        }
    </style>
</head>

<body>
    <div></div>
    <script>
        let div = document.querySelector('div')
        let x, y
        let fn = function (e) {
            // console.log('hhhhhhhh')
            div.style.left = e.clientX - x + 'px'
            div.style.top = e.clientY - y + 'px'
            if (e.clientX - x < 30) {
                div.style.left = 0
            }
            if (e.clientY - y < 30) {
                div.style.top = 0
            }
            if (e.clientX - x > document.documentElement.clientWidth - div.offsetWidth - 30) {
                div.style.left = document.documentElement.clientWidth - div.offsetWidth + 'px'
            }
            if (e.clientY - y > document.documentElement.clientHeight - div.offsetHeight - 30) {
                div.style.top = document.documentElement.clientHeight - div.offsetHeight + 'px'
            }
        }
        div.addEventListener('mousedown', function (e) {
            x = e.offsetX
            y = e.offsetY
            document.addEventListener('mousemove', fn)
        })
        div.addEventListener('mouseup', function () {
            document.removeEventListener('mousemove', fn)
        })
    </script>
</body>

</html>

運行

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JavaScript數(shù)組常用操作技巧匯總

    JavaScript數(shù)組常用操作技巧匯總

    這篇文章主要介紹了JavaScript數(shù)組常用操作技巧,以實例形式匯總了針對數(shù)組的查找、連接、排序及迭代等各種常見操作技巧,非常具有實用價值,需要的朋友可以參考下
    2014-11-11
  • JavaScript設計模式學習之適配器模式

    JavaScript設計模式學習之適配器模式

    這篇文章主要介紹了JavaScript設計模式之適配器模式,對設計模式不熟悉的同學,可以參考學習一下
    2021-04-04
  • JavaScript Date對象使用總結

    JavaScript Date對象使用總結

    js 日期對象的一些方法總結
    2009-05-05
  • 關于Javascript與iframe的那些事兒

    關于Javascript與iframe的那些事兒

    iframe 很多網(wǎng)站都在用,雖然方便開發(fā)與維護(可能同時有幾個頁面調用同一個 iframe ),不過卻存在安全問題
    2013-07-07
  • 你可能不知道的CORS跨域資源共享

    你可能不知道的CORS跨域資源共享

    這篇文章主要給大家介紹了關于CORS跨域資源共享的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用CORS具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-03-03
  • D3.js進階系列之CSV表格文件的讀取詳解

    D3.js進階系列之CSV表格文件的讀取詳解

    D3.js支持從外部讀取數(shù)據(jù)進行圖形交互(Loading External Resources),支持的格式有CSV、txt、Html、tsv、xml文本文件和JSON XML數(shù)據(jù)結構,下面這篇文章主要給大家介紹了D3.js中CSV表格文件讀取的相關資料,需要的朋友可以參考下。
    2017-06-06
  • asp.net+js 實現(xiàn)無刷新上傳解析csv文件的代碼

    asp.net+js 實現(xiàn)無刷新上傳解析csv文件的代碼

    無刷新上傳解析csv文件的實現(xiàn)代碼,需要的朋友可以參考下。
    2010-05-05
  • JS的拖拽屬性draggable詳解

    JS的拖拽屬性draggable詳解

    這篇文章主要介紹了JS的拖拽屬性draggable詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • ES6中定義類和對象的方法示例

    ES6中定義類和對象的方法示例

    這篇文章主要介紹了ES6中定義類和對象的方法,結合實例形式分析了ES6中類的定義、繼承、靜態(tài)方法、靜態(tài)屬性等相關操作技巧,需要的朋友可以參考下
    2019-07-07
  • JS工廠模式開發(fā)實踐案例分析

    JS工廠模式開發(fā)實踐案例分析

    這篇文章主要介紹了JS工廠模式開發(fā),結合具體實踐案例形式分析了基于javascript工廠模式實現(xiàn)的輪播功能相關操作技巧,需要的朋友可以參考下
    2019-10-10

最新評論

彭泽县| 扎囊县| 牙克石市| 香港| 绵阳市| 罗江县| 博客| 金门县| 六盘水市| 古丈县| 平罗县| 宜章县| 鄂尔多斯市| 安庆市| 清徐县| 内乡县| 宝清县| 江阴市| 承德市| 于都县| 灵宝市| 韶关市| 同江市| 射洪县| 平阴县| 双城市| 德安县| 塔河县| 达日县| 广宁县| 亚东县| 庄河市| 驻马店市| 常州市| 哈尔滨市| 谢通门县| 通榆县| 顺义区| 偏关县| 玛沁县| 灵台县|