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

原生JS實現(xiàn)拖拽效果

 更新時間:2020年12月04日 08:45:36   作者:向天再借五百根  
這篇文章主要為大家詳細介紹了原生JS實現(xiàn)拖拽效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JS實現(xiàn)拖拽效果的具體代碼,供大家參考,具體內(nèi)容如下

想要讓整個元素移動需要三個事件:

鼠標(biāo)按下 onmousedown
鼠標(biāo)移動 onmousemove
鼠標(biāo)抬起 onmouseup

html

<div id="login" class="login">
 <!-- 點擊title拖拽 -->
  <div id="title" class="login-title">登錄會員
 <!-- title end -->
   <span><a id="closeBtn" href="javascript:void(0);" class="close-login">關(guān)閉</a></span>
  </div>
  <div class="login-input-content">
   <div class="login-input">
    <label>用戶名:</label>
    <input type="text" placeholder="請輸入用戶名" name="info[username]" id="username" class="list-input">
   </div>
   <div class="login-input">
    <label>登錄密碼:</label>
    <input type="password" placeholder="請輸入登錄密碼" name="info[password]" id="password" class="list-input">
   </div>
  </div>
  <div id="loginBtn" class="login-button"><a href="javascript:void(0);" id="login-button-submit">登錄會員</a></div>
</div>

JS

var login = document.querySelector('.login');//獲取整個彈框的內(nèi)容
var title = document.querySelector('#title');
 title.addEventListener('mousedown',function(e){
  //當(dāng)按下鼠標(biāo)的時候,獲取到鼠標(biāo)在拖拽盒子內(nèi)的坐標(biāo)
  //鼠標(biāo)在頁面的坐標(biāo) - 大盒子距離瀏覽器左側(cè)的距離
  var x = e.pageX - login.offsetLeft;
  var y = e.pageY - login.offsetTop;

  //鼠標(biāo)移動
  document.addEventListener('mousemove',move);

  function move(e){
  //拖拽的盒子定位=鼠標(biāo)在頁面的坐標(biāo) - 鼠標(biāo)在拖拽盒子的坐標(biāo)
   login.style.left = e.pageX - x + 'px';
   login.style.top = e.pageY - y + 'px';
  }

  //當(dāng)鼠標(biāo)抬起的時候,將移動事件刪除
  document.addEventListener('mouseup',function(){
   document.removeEventListener('mousemove',move);
  })

 })

CSS部分

<style>
 *{
   padding: 0px;
   margin: 0px;
  }
  .login {
   display: block;
   width: 512px;
   height: 280px;
   position: fixed;
   border: #ebebeb solid 1px;
   left: 50%;
   top: 50%;
   background: #ffffff;
   box-shadow: 0px 0px 20px #ddd;
   z-index: 9999;
   transform: translate(-50%, -50%);
  }
  .login-title {
   width: 100%;
   margin: 10px 0px 0px 0px;
   text-align: center;
   line-height: 40px;
   height: 40px;
   font-size: 18px;
   position: relative;
   cursor: move;
  }
  .login-input-content {
   margin-top: 20px;
  }
  .login-button {
   width: 50%;
   margin: 30px auto 0px auto;
   line-height: 40px;
   font-size: 14px;
   border: #ebebeb 1px solid;
   text-align: center;
  }
  .login-bg {
   display: none;
   width: 100%;
   height: 100%;
   position: fixed;
   top: 0px;
   left: 0px;
   background: rgba(0, 0, 0, .3);
  }
  a {
   text-decoration: none;
   color: #000000;
  }
  .login-button a {
   display: block;
  }
  .login-input input.list-input {
   float: left;
   line-height: 35px;
   height: 35px;
   width: 350px;
   border: #ebebeb 1px solid;
   text-indent: 5px;
  }
  .login-input {
   overflow: hidden;
   margin: 0px 0px 20px 0px;
  }
  .login-input label {
   float: left;
   width: 90px;
   padding-right: 10px;
   text-align: right;
   line-height: 35px;
   height: 35px;
   font-size: 14px;
  }
  .login-title span {
   position: absolute;
   font-size: 12px;
   right: -20px;
   top: -30px;
   background: #ffffff;
   border: #ebebeb solid 1px;
   width: 40px;
   height: 40px;
   border-radius: 20px;
  }
</style>

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

相關(guān)文章

  • Bootstrap每天必學(xué)之前端開發(fā)框架

    Bootstrap每天必學(xué)之前端開發(fā)框架

    Bootstrap每天必學(xué)之前端開發(fā)框架,今天這篇文章就帶著大家了解認識當(dāng)下最流行的前端開發(fā)框架Bootstrap,bootstrap深受大家喜愛的原因到底是什么呢,我們一探究竟。
    2015-11-11
  • eslint 的三大通用規(guī)則詳解

    eslint 的三大通用規(guī)則詳解

    這篇文章主要介紹了eslint 的三大通用規(guī)則詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 微信小程序web-view無法打開該頁面不支持打開的解決方法

    微信小程序web-view無法打開該頁面不支持打開的解決方法

    小程序現(xiàn)在日漸成熟,功能也越來越強大,我們今天來一起看看小程序跳轉(zhuǎn)的問題,下面這篇文章主要給大家介紹了關(guān)于微信小程序web-view無法打開該頁面不支持打開的解決方法,需要的朋友可以參考下
    2023-01-01
  • 通過學(xué)習(xí)bootstrop導(dǎo)航條學(xué)會修改bootstrop顏色基調(diào)

    通過學(xué)習(xí)bootstrop導(dǎo)航條學(xué)會修改bootstrop顏色基調(diào)

    這篇文章主要介紹了通過學(xué)習(xí)bootstrop導(dǎo)航條學(xué)會修改bootstrop顏色基調(diào),需要的朋友可以參考下
    2017-06-06
  • JS使用iView的Dropdown實現(xiàn)一個右鍵菜單

    JS使用iView的Dropdown實現(xiàn)一個右鍵菜單

    這篇文章主要介紹了JS使用iView的Dropdown實現(xiàn)一個右鍵菜單功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • JavaScript中Promise的使用詳解

    JavaScript中Promise的使用詳解

    Promise,相信每一個前端工程師都或多或少地在項目中都是用過,畢竟它早已不是一個新名詞。ES6中已經(jīng)原生對它加以支持,在caniuse中搜索一下 Promise ,發(fā)現(xiàn)新版的chrome和firefox也已經(jīng)支持。但是低版本的瀏覽器我們可以使用 es6-promise 這個 polyfill 庫來加以兼容。
    2017-02-02
  • 如何清除IE10+ input X 文本框的叉叉和密碼輸入框的眼睛圖標(biāo)

    如何清除IE10+ input X 文本框的叉叉和密碼輸入框的眼睛圖標(biāo)

    從IE 10開始,type=”text” 的 input 在用戶輸入內(nèi)容后,會自動產(chǎn)生一個小叉叉(X),方便用戶點擊清除已經(jīng)輸入的文本,下面通過本文給大家介紹下如何清除IE10+ input X 文本框的叉叉和密碼輸入框的眼睛圖標(biāo)
    2016-12-12
  • 詳解TypeScript編譯TSX文件的方法

    詳解TypeScript編譯TSX文件的方法

    因為使用 Cycle.js 的 Vite + TSX 所以想詳細的探索 TSX 在 TS 配置中的編譯情況,本文主要講解 tsconfig 和 tsx 編譯與配置,以常見的框架 PReact 的虛擬 DOM + TSX 組合、snabbdom + TSX 組合不同的配置以及編譯輸出
    2023-09-09
  • JS異常處理的一個想法(sofish)

    JS異常處理的一個想法(sofish)

    由于網(wǎng)絡(luò)、瀏覽器問題、緩存等原因執(zhí)行js的時候會拋出異常接下來分享一個想法,基本上涉及到兩步:收集和使用,感興趣的你可以參考下哈,希望對你有所幫助
    2013-03-03
  • JavaScript之移動端H5生成圖片解決方案講解

    JavaScript之移動端H5生成圖片解決方案講解

    這篇文章主要介紹了JavaScript之移動端H5生成圖片解決方案講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評論

内江市| 五台县| 南靖县| 乌什县| 日喀则市| 黎川县| 墨竹工卡县| 富阳市| 克拉玛依市| 大洼县| 莲花县| 来宾市| 岑巩县| 许昌市| 九江市| 天祝| 大英县| 齐河县| 翁源县| 江达县| 谢通门县| 金塔县| 临泽县| 波密县| 广昌县| 吉木乃县| 包头市| 呼图壁县| 同德县| 达州市| 巴彦淖尔市| 辉南县| 古浪县| 福清市| 淮安市| 彝良县| 邵阳县| 敦煌市| 滁州市| 黄龙县| 虹口区|