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

JavaScript實現(xiàn)鼠標(biāo)控制自由移動的窗口

 更新時間:2021年06月22日 10:23:15   作者:妄癡夢中  
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)鼠標(biāo)控制自由移動的窗口,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JavaScript實現(xiàn)鼠標(biāo)控制自由窗口的具體代碼,供大家參考,具體內(nèi)容如下

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用鼠標(biāo)移動的窗口</title>
    <style>
        .mainDiv {
            width: 350px;
            height: 200px;
            border: 2px black solid;
            position: absolute;
        }

        .titleDiv {
            width: 350px;
            height: 30px;
            background-color: YellowGreen  ;
            text-align: center;
            line-height: 30px;
        }

        .contentDiv {
            width: 350px;
            height: 170px;
            background-color: SandyBrown ;
            text-align: center;
        }
    </style>
</head>
<body>
<!--onmousedown:事件會在鼠標(biāo)按鍵被按下時發(fā)生; onmousemove:事件會在鼠標(biāo)指針移到指定的對象時發(fā)生-->
<div class="mainDiv" id="mainDiv" style="top: 20px;left: 20px">
    <div class="titleDiv" id="titleDiv" onmousedown="mouseDown()" onmouseup="mouseUp()">
        標(biāo)題欄
    </div>
    <div class="contentDiv">
        《鼠標(biāo)可控的自由窗口》<br>
        注意:沒有給mainDiv設(shè)置position為absolute前不能移動
    </div>
</div>
<script>
    var dx;
    var dy;
    var mainDivObj = null;
    var titleDivObj = null;

    /**
     * 鼠標(biāo)按下函數(shù),當(dāng)鼠標(biāo)按下時執(zhí)行該函數(shù)
     */
    function mouseDown() {
        //獲得鼠標(biāo)的鍵值,0是鼠標(biāo)左鍵;1是鼠標(biāo)滾軸鍵;2是鼠標(biāo)右鍵
        if (event.button == 0) {
            mainDivObj = document.getElementById("mainDiv");
            titleDivObj = document.getElementById("titleDiv");
            //設(shè)置鼠標(biāo)樣式
            titleDivObj.style.cursor = "move";
            //設(shè)置主div的陰影樣式
            mainDivObj.style.boxShadow = "0px 0px 10px #000";
            //獲得鼠標(biāo)當(dāng)前坐標(biāo)
            let x = event.x;
            let y = event.y;
            dx = x - parseInt(mainDivObj.style.left);
            dy = y - parseInt(mainDivObj.style.top);

        }
    }

    //鼠標(biāo)移動的時候調(diào)用
    document.onmousemove = mouseMove;

    /**
     * 按下鼠標(biāo)后移動函數(shù),當(dāng)鼠標(biāo)移動是執(zhí)行該函數(shù),移動div
     */
    function mouseMove() {
        if (mainDivObj != null) {
            //獲得鼠標(biāo)當(dāng)前移動的坐標(biāo)位置
            let x = event.x;//鼠標(biāo)移動的x軸的坐標(biāo)
            let y = event.y;//鼠標(biāo)移動的y軸的坐標(biāo)
            //計算div移動后的left與top的距離
            //使用當(dāng)前坐標(biāo)減去鼠標(biāo)在div中的位置與div左邊與頂端的距離
            let left = x - dx;
            let top = y - dy;
            //設(shè)置div新的坐標(biāo)位置
            mainDivObj.style.left = left + "px";
            mainDivObj.style.top = top + "px";
        }
    }
    /**
     * 鼠標(biāo)松開函數(shù),當(dāng)鼠標(biāo)松開時執(zhí)行該函數(shù)
     */
    function mouseUp() {
        if (mainDivObj != null) {
            dx = null;
            dy = null;
            //設(shè)置div的陰影樣式
            mainDivObj.style.boxShadow="none";
            mainDivObj = null;
            titleDivObj.style.cursor="pointer";
            titleDivObj = null;
        }
    }
</script>
</body>
</html>

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

相關(guān)文章

  • Jjcarousellite 實現(xiàn)圖片列表滾動的簡單實例

    Jjcarousellite 實現(xiàn)圖片列表滾動的簡單實例

    這篇文章主要介紹了Jjcarousellite 實現(xiàn)圖片列表滾動的簡單實例,有需要的朋友可以參考一下
    2013-11-11
  • Openlayers實現(xiàn)面積測量的方法

    Openlayers實現(xiàn)面積測量的方法

    在Openlayers中,長度和面積的測量均依賴ol/sphere模塊,長度通過getLength方法計算,面積則通過getArea方法,面積測量不是計算平面面積,而是基于球面,適用于多邊形和多多邊形集合,感興趣的朋友一起看看吧
    2024-11-11
  • 淺談js圖片前端預(yù)覽之filereader和window.URL.createObjectURL

    淺談js圖片前端預(yù)覽之filereader和window.URL.createObjectURL

    下面小編就為大家?guī)硪黄獪\談js圖片前端預(yù)覽之filereader和window.URL.createObjectURL。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • js中style.display=

    js中style.display=""無效的解決方法

    這篇文章主要介紹了js中style.display=""無效的解決方法,是js程序設(shè)計中非常常見的問題,需要的朋友可以參考下
    2014-10-10
  • 理解Javascript_13_執(zhí)行模型詳解

    理解Javascript_13_執(zhí)行模型詳解

    在《理解Javascript_12_執(zhí)行模型淺析》一文中,我們初步的了解了執(zhí)行上下文與作用域的概念,那么這一篇將深入分析執(zhí)行上下文的構(gòu)建過程,了解執(zhí)行上下文、函數(shù)對象、作用域三者之間的關(guān)系。
    2010-10-10
  • 小試JavaScript多線程

    小試JavaScript多線程

    這兩天一直在弄ajax,用多了才發(fā)現(xiàn)了ajax?的cache問題,請求了好多次,得到了確是相同的結(jié)果,經(jīng)常我想在請求的同時去做一些其它的事情,我在想javascript里有沒有辦法用多線程,經(jīng)過在網(wǎng)上查找找到了結(jié)果。
    2008-11-11
  • JS對象去重的多種方式小結(jié)

    JS對象去重的多種方式小結(jié)

    在 JavaScript 中,對象的去重通常是指在一個對象數(shù)組中,根據(jù)某些屬性值去掉重復(fù)的對象,本文給大家總結(jié)了一些JS對象去重的多種方式,并通過代碼示例講解的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2024-09-09
  • JS實現(xiàn)頁面滾動到關(guān)閉時的位置與不滾動效果

    JS實現(xiàn)頁面滾動到關(guān)閉時的位置與不滾動效果

    這篇文章主要介紹了JS實現(xiàn)頁面滾動到關(guān)閉時的位置與不滾動效果,滾動有兩種方案,其一,利用路由中的meta,在離開頁面時緩存 top 信息,其二,利用keep-alive緩存整個頁面。但是僅限于沒有實時數(shù)據(jù)變動的頁面,需要的朋友可以參考下本文
    2022-06-06
  • 通過Jscript中@cc_on 語句識別IE瀏覽器及版本的代碼

    通過Jscript中@cc_on 語句識別IE瀏覽器及版本的代碼

    通過Jscript中@cc_on 語句識別IE瀏覽器及版本的代碼,需要的朋友可以參考下。
    2011-05-05
  • JS上傳圖片前實現(xiàn)圖片預(yù)覽效果的方法

    JS上傳圖片前實現(xiàn)圖片預(yù)覽效果的方法

    這篇文章主要介紹了JS上傳圖片前實現(xiàn)圖片預(yù)覽效果的方法,涉及javascript操作圖片的技巧,需要的朋友可以參考下
    2015-03-03

最新評論

浙江省| 登封市| 阳春市| 临夏市| 东港市| 富川| 秦皇岛市| 周口市| 蓝田县| 南投县| 安新县| 西盟| 吉首市| 北海市| 毕节市| 马关县| 曲靖市| 白玉县| 新干县| 蚌埠市| 安多县| 台江县| 乳源| 昭觉县| 黄山市| 阿克陶县| 京山县| 牙克石市| 格尔木市| 确山县| 九龙城区| 新宁县| 花莲市| 芜湖县| 始兴县| 含山县| 宣汉县| 鄂温| 黄浦区| 秭归县| 子洲县|