欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

原生JS實現(xiàn)拖拽位置預(yù)覽

 更新時間:2021年10月19日 08:59:53   作者:aiguangyuan  
這篇文章主要為大家詳細介紹了原生JS實現(xiàn)拖拽位置預(yù)覽,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文給大家分享一個拖拽元素時添加預(yù)覽的小Demo,效果如下:

以下是代碼實現(xiàn),歡迎大家復(fù)制粘貼及吐槽。

<!DOCTYPE html>
<html>
 
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>原生JS實現(xiàn)拖拽位置預(yù)覽</title>
    <style>
        .box {
            position: absolute;
            border: 1px dashed black;
        }
 
        #div1 {
            width: 100px;
            height: 100px;
            background: yellow;
            position: absolute;
        }
    </style>
    <script>
        window.onload = function () {
 
            var oDiv = document.getElementById('div1');
 
            oDiv.onmousedown = function (ev) {
 
                var oEvent = ev || event;
                var disX = oEvent.clientX - oDiv.offsetLeft;
                var disY = oEvent.clientY - oDiv.offsetTop;
 
                //創(chuàng)建一個虛線框的div
                var oNewDiv = document.createElement('div');
 
                oNewDiv.className = 'box';
                //減去邊框的大小與原div大小重合
                oNewDiv.style.width = oDiv.offsetWidth - 2 + 'px';
                oNewDiv.style.height = oDiv.offsetHeight - 2 + 'px';
                oNewDiv.style.left = oDiv.offsetLeft + 'px';
                oNewDiv.style.top = oDiv.offsetTop + 'px';
 
                document.body.appendChild(oNewDiv);
 
                document.onmousemove = function (ev) {
 
                    var oEvent = ev || event;
 
                    oNewDiv.style.left = oEvent.clientX - disX + 'px';
                    oNewDiv.style.top = oEvent.clientY - disY + 'px';
                };
 
                document.onmouseup = function () {
 
                    document.onmousemove = null;
                    document.onmouseup = null;
 
                    oDiv.style.left = oNewDiv.style.left;
                    oDiv.style.top = oNewDiv.style.top;
                    //移除虛線框
                    document.body.removeChild(oNewDiv);
                };
            };
        };
    </script>
</head>
 
<body>
    <div id="div1"></div>
</body>
 
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript溫習(xí)的一些筆記 基礎(chǔ)常用知識小結(jié)

    javascript溫習(xí)的一些筆記 基礎(chǔ)常用知識小結(jié)

    在電腦上找到多年前的javascript的一些小筆記,因為要將筆記本上面的文件整理一下, 不用的刪除掉, 所以將此篇筆記再發(fā)布一下,存檔到自己的博客吧, 電腦上的文件就刪除了
    2011-06-06
  • ECMAScript6變量的解構(gòu)賦值實例詳解

    ECMAScript6變量的解構(gòu)賦值實例詳解

    ES6允許按照一定模式,從數(shù)組和對象中提取值,對變量進行賦值,這被稱為解構(gòu)(Destructuring),下文中給大家提供了嵌套數(shù)組的解構(gòu)例子,大家一起看看吧
    2017-09-09
  • js控制鼠標事件移動及移出效果顯示

    js控制鼠標事件移動及移出效果顯示

    鼠標事件的移動及移出效果都可以使用js來自定義,下面有個示例,實,效果為當(dāng)事件發(fā)生改變時背景顏色也隨著改變
    2014-10-10
  • 淺談js數(shù)組splice刪除某個元素爬坑

    淺談js數(shù)組splice刪除某個元素爬坑

    這篇文章主要介紹了淺談js數(shù)組splice刪除某個元素爬坑,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Bootstrap中的表單驗證插件bootstrapValidator使用方法整理(推薦)

    Bootstrap中的表單驗證插件bootstrapValidator使用方法整理(推薦)

    這篇文章主要介紹了Bootstrap中的表單驗證插件bootstrapValidator使用方法整理(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06
  • js實現(xiàn)網(wǎng)站首頁圖片滾動顯示

    js實現(xiàn)網(wǎng)站首頁圖片滾動顯示

    網(wǎng)站首頁圖片滾動顯示對于很多朋友都有很大的吸引,因為它可以帶來意想不到視覺沖擊效果,接下來本文也實現(xiàn)一下,感興趣的朋友可以參考下,或許對你學(xué)習(xí)js知識有所幫助
    2013-02-02
  • JavaScript中object和Object的區(qū)別(詳解)

    JavaScript中object和Object的區(qū)別(詳解)

    下面小編就為大家?guī)硪黄狫avaScript中object和Object的區(qū)別(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • 微信小程序多項選擇器checkbox

    微信小程序多項選擇器checkbox

    這篇文章主要為大家詳細介紹了微信小程序多項選擇器checkbox,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 如何將php數(shù)組或者對象傳遞給javascript

    如何將php數(shù)組或者對象傳遞給javascript

    這篇文章主要介紹了將php數(shù)組或者對象傳遞給javascript的方法,需要的朋友可以參考下
    2014-03-03
  • 使用javaScript實現(xiàn)鼠標拖拽事件

    使用javaScript實現(xiàn)鼠標拖拽事件

    這篇文章主要為大家詳細介紹了使用javaScript實現(xiàn)鼠標拖拽事件的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評論