国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

原生js實現拖拽考慮瀏覽器窗口邊界 詳細版代碼+注釋

GitChat / 3521人閱讀

摘要:關于拖拽元素,在網上有很多例子,但都比較簡單,且大多數沒有完全考慮瀏覽器窗口邊界。對拖拽代碼中的具體解釋事件流用于兼容各瀏覽器方法為了返回一個,外界方便操作的接口。考慮邊界情況,在函數內部的注釋已十分詳細。

關于拖拽元素,在網上有很多例子,但都比較簡單,且大多數沒有完全考慮瀏覽器窗口邊界。
參考多方資料,自己寫了個較完善的封裝拖拽的方法。
先貼出代碼,復制后運行看下效果,
所有理解在注釋中較詳細說明。




    
    Document
    


    

ps:注意138行,可以試著把(event.clientX-diffx)<0換成dragging.offsetLeft<0看看效果。
對拖拽代碼中的具體解釋:
①事件流用于兼容各瀏覽器
②EventTarget方法為了返回一個,外界方便操作的接口。
③ EventTarget函數內部通過switch,給拖拽元素添加onmousedown、onmousemove、onmouseup事件。
④通過將元素設置為position:absolute;再通過top和left屬性實現拖拽。
⑤考慮邊界情況,在函數內部的注釋已十分詳細。
⑥最后的dragstart、drag、dragend是元素在拖拽開始到結束時候觸發的事件。
⑦返回EventTarget,為了可以給元素拖拽事件添加操作,在 EventTarget中定義這些事件流。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94388.html

相關文章

  • JS進階篇4---原生JS實現對元素的拖拽

    摘要:原生實現對元素的拖拽一背景介紹此處為鋪墊內容,可跳過隨著前端的不斷發展,各種各樣的前端規范和新知識新技術層出不窮,極大地拓展了開發者的操作空間,也大大地提升了用戶體驗。 原生 JS 實現對 html 元素的拖拽 一、背景介紹 【此處為鋪墊內容,可跳過】 隨著 Web 前端的不斷發展,各種各樣的前端規范和新知識、新技術層出不窮,極大地拓展了開發者的操作空間,也大大地提升了用戶體驗。而隨著...

    phoenixsky 評論0 收藏0
  • JS進階篇4---原生JS實現對元素的拖拽

    摘要:原生實現對元素的拖拽一背景介紹此處為鋪墊內容,可跳過隨著前端的不斷發展,各種各樣的前端規范和新知識新技術層出不窮,極大地拓展了開發者的操作空間,也大大地提升了用戶體驗。 原生 JS 實現對 html 元素的拖拽 一、背景介紹 【此處為鋪墊內容,可跳過】 隨著 Web 前端的不斷發展,各種各樣的前端規范和新知識、新技術層出不窮,極大地拓展了開發者的操作空間,也大大地提升了用戶體驗。而隨著...

    evin2016 評論0 收藏0
  • 【easy-invoices】electron-vue、sqlite3 項目初探

    摘要:遠程讀取會有許多限制,防止引起不必要的安全隱患。比較時可以把點去掉轉為數字類型比較腳本執行完畢下載前可以拿到更新日志時間版本號和包大小,下載時可以拿到速度。然后開啟該項目的構建。將第一步生成的填至項目環境變量,參數名為。 父母都是做出納相關的工作,希望我能給他們做個簡單的進銷存,在上班的時候使用。開發一個不需要花錢買服務器,不需要依賴網絡(更新除外),單機版的程序,對于前端出身的我來說...

    wpw 評論0 收藏0
  • HTML5 入門詳解

    摘要:定義字符中文注音或字符的解釋或發音。表單域我們都知道標簽用于為用戶輸入創建表單。在中表單域添加了兩個新的屬性規定是否啟用表單的自動完成功能,默認。通過屬性和表單域的可以將輸入表單綁定到表單域中。 showImg(http://ww1.sinaimg.cn/large/007kscFEgy1fxgnw4hajoj31400p0q4d.jpg); 1. 認識HTML5 HTML5并不僅僅...

    hqman 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<