亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

本文實(shí)例為大家分享了JavaScript實(shí)現(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)按鍵被按下時(shí)發(fā)生; onmousemove:事件會在鼠標(biāo)指針移到指定的對象時(shí)發(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)按下時(shí)執(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)移動的時(shí)候調(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)
            //計(jì)算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)松開時(shí)執(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)文章

  • js getElementsByTagName的簡寫方式

    js getElementsByTagName的簡寫方式

    用最少的代碼,做最多的事情. getElementsByTagName的簡寫方法.
    2010-06-06
  • 微信小程序?qū)崿F(xiàn)全局狀態(tài)管理的方法整理

    微信小程序?qū)崿F(xiàn)全局狀態(tài)管理的方法整理

    已知微信小程序中如果要做到全局狀態(tài)共享,常用的有四種方式,分別是globalData、本地緩存、mobx-miniprogram和westore,本文將帶大家看看mobx-miniprogram是如何實(shí)現(xiàn)的小程序的全局狀態(tài)管理,需要的可以收藏一下
    2023-06-06
  • 類似php的js數(shù)組的in_array函數(shù)自定義方法

    類似php的js數(shù)組的in_array函數(shù)自定義方法

    PHP的數(shù)組函數(shù)in_array()非常方便,下面就為大家介紹下自定義類似php的js數(shù)組的in_array函數(shù),具體實(shí)現(xiàn)方法如下,感興趣的朋友可以參考下
    2013-12-12
  • 微信小程序之GET請求的實(shí)例詳解

    微信小程序之GET請求的實(shí)例詳解

    這篇文章主要介紹了微信小程序之GET請求的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握該如何使用get請求,需要的朋友可以參考下
    2017-09-09
  • js實(shí)現(xiàn)課堂隨機(jī)點(diǎn)名系統(tǒng)

    js實(shí)現(xiàn)課堂隨機(jī)點(diǎn)名系統(tǒng)

    這篇文章主要介紹了js實(shí)現(xiàn)課堂隨機(jī)點(diǎn)名系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Javascript - HTML的request類

    Javascript - HTML的request類

    Javascript - HTML的request類...
    2006-07-07
  • 輕松理解JavaScript閉包

    輕松理解JavaScript閉包

    閉包機(jī)制是JavaScript的重點(diǎn)和難點(diǎn),本文希望能幫助大家輕松的學(xué)習(xí)閉包。下面跟著小編一起來看下吧
    2017-03-03
  • JS數(shù)組扁平化、去重、排序操作實(shí)例詳解

    JS數(shù)組扁平化、去重、排序操作實(shí)例詳解

    這篇文章主要介紹了JS數(shù)組扁平化、去重、排序操作,結(jié)合實(shí)例形式詳細(xì)分析了JS數(shù)組扁平化、去重、排序等相關(guān)操作原理、實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • uniapp實(shí)現(xiàn)橫屏簽字版

    uniapp實(shí)現(xiàn)橫屏簽字版

    這篇文章主要為大家詳細(xì)介紹了uniapp實(shí)現(xiàn)橫屏簽字版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 基于bootstrap-datetimepicker.js不支持IE8的快速解決方法

    基于bootstrap-datetimepicker.js不支持IE8的快速解決方法

    下面小編就為大家?guī)硪黄赽ootstrap-datetimepicker.js不支持IE8的快速解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11

最新評論