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

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

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

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

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用鼠標(biāo)移動(dòng)的窗口</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:事件會(huì)在鼠標(biāo)按鍵被按下時(shí)發(fā)生; onmousemove:事件會(huì)在鼠標(biāo)指針移到指定的對(duì)象時(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>
        注意:沒(méi)有給mainDiv設(shè)置position為absolute前不能移動(dòng)
    </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)移動(dòng)的時(shí)候調(diào)用
    document.onmousemove = mouseMove;

    /**
     * 按下鼠標(biāo)后移動(dòng)函數(shù),當(dāng)鼠標(biāo)移動(dòng)是執(zhí)行該函數(shù),移動(dòng)div
     */
    function mouseMove() {
        if (mainDivObj != null) {
            //獲得鼠標(biāo)當(dāng)前移動(dòng)的坐標(biāo)位置
            let x = event.x;//鼠標(biāo)移動(dòng)的x軸的坐標(biāo)
            let y = event.y;//鼠標(biāo)移動(dòng)的y軸的坐標(biāo)
            //計(jì)算div移動(dòng)后的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)松開(kāi)函數(shù),當(dāng)鼠標(biāo)松開(kāi)時(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>

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

相關(guān)文章

  • Jjcarousellite 實(shí)現(xiàn)圖片列表滾動(dòng)的簡(jiǎn)單實(shí)例

    Jjcarousellite 實(shí)現(xiàn)圖片列表滾動(dòng)的簡(jiǎn)單實(shí)例

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

    Openlayers實(shí)現(xiàn)面積測(cè)量的方法

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

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

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

    js中style.display=""無(wú)效的解決方法

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

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

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

    小試JavaScript多線程

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

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

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

    JS實(shí)現(xiàn)頁(yè)面滾動(dòng)到關(guān)閉時(shí)的位置與不滾動(dòng)效果

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

    通過(guò)Jscript中@cc_on 語(yǔ)句識(shí)別IE瀏覽器及版本的代碼

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

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

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

最新評(píng)論

西和县| 德化县| 遂平县| 民勤县| 陆川县| 宜阳县| 嘉荫县| 汾西县| 新化县| 抚宁县| 漠河县| 商河县| 石阡县| 咸阳市| 苍南县| 东丰县| 延津县| 方城县| 昆山市| 法库县| 南汇区| 扬州市| 厦门市| 湘乡市| 财经| 阳曲县| 闽侯县| 哈尔滨市| 珲春市| 霍林郭勒市| 萨迦县| 宁陕县| 共和县| 越西县| 京山县| 托里县| 浦北县| 清苑县| 黄浦区| 遂昌县| 大竹县|