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

Vue3中實現(xiàn)div拖拽功能

 更新時間:2024年03月11日 10:15:28   作者:zhige@  
這篇文章主要介紹了Vue3中實現(xiàn)div拖拽功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

1.創(chuàng)建一個div

<template>
  <div class="draggable" :style="{ left: `${x}px`, top: `${y}px` }" @mousedown="startDrag">
    拖拽我
  </div>
</template>

2.typescript代碼

<script setup>
import { ref } from 'vue';
// 用于存儲元素X和Y位置的響應性引用
const x = ref(500);
const y = ref(500);
// 是否正在拖動的標志
const isDragging = ref(false);
// 開始拖動的函數(shù)
const startDrag = (event) => {
  // 記錄初始鼠標位置
  const initialMouseX = event.clientX;
  const initialMouseY = event.clientY;
  // 記錄初始元素位置
  const initialX = x.value;
  const initialY = y.value;
  // 開始拖動,設置為true
  isDragging.value = true;
  // 當鼠標移動時執(zhí)行的函數(shù)
  const dragging = (moveEvent) => {
    // 只有在拖動時才執(zhí)行
    if (isDragging.value) {
      // 計算鼠標移動的距離
      const deltaX = moveEvent.clientX - initialMouseX;
      const deltaY = moveEvent.clientY - initialMouseY;
      // 更新元素的位置
      x.value = initialX + deltaX;
      y.value = initialY + deltaY;
    }
  };
  // 鼠標釋放時停止拖動的函數(shù)
  const stopDrag = () => {
    // 結束拖動,設置為false
    isDragging.value = false;
    // 移除事件監(jiān)聽器
    document.removeEventListener('mousemove', dragging);
    document.removeEventListener('mouseup', stopDrag);
  };
  // 添加鼠標移動和釋放時的事件監(jiān)聽器
  document.addEventListener('mousemove', dragging);
  document.addEventListener('mouseup', stopDrag);
};
</script>

3.CSS樣式

<style>
.draggable {
  width: 550px;
  height: 550px;
  border: 1px solid #000;
  position: fixed;
  cursor: grab; /* 設置鼠標樣式為可抓取狀態(tài) */
  z-index: 100;
}
</style>

到此這篇關于Vue3中實現(xiàn)div拖拽功能的文章就介紹到這了,更多相關Vue3 div拖拽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue3.0實現(xiàn)無限級菜單

    Vue3.0實現(xiàn)無限級菜單

    這篇文章主要為大家詳細介紹了基于Vue3.0實現(xiàn)無限級菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 淺談vue-router 路由傳參的方法

    淺談vue-router 路由傳參的方法

    這篇文章主要介紹了淺談vue-router 路由傳參的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Vue3中使用匿名函數(shù)的方法實現(xiàn)

    Vue3中使用匿名函數(shù)的方法實現(xiàn)

    Lambda函數(shù),也稱為匿名函數(shù),是Vue3中的一種函數(shù)類型,綁定匿名方法和綁定普通方法主要是寫法上的區(qū)別,其他的區(qū)別并不是很大,本文主要介紹了Vue3中使用匿名函數(shù)的方法實現(xiàn),感興趣的可以了解一下
    2023-12-12
  • vue中provide、inject的使用方法案例詳解

    vue中provide、inject的使用方法案例詳解

    本教程是介紹如何在vue中使用provide和inject,在 Vue 中,provide 和 inject 是用于實現(xiàn)祖先組件向后代組件傳遞數(shù)據(jù)的一種方式,對vue中provide、inject的使用方法感興趣的朋友一起看看吧
    2024-02-02
  • echarts uniapp沒有dom renderjs解決uniapp無法獲取Dom問題

    echarts uniapp沒有dom renderjs解決uniapp無法獲取Dom問題

    文章主要介紹了uni-app在app和h5端引入echarts的方法及注意事項,以及通過renderjs技術來解決echarts在跨端和動畫性能上的問題,并給出使用總結
    2026-05-05
  • vue3項目新用戶引導組件driver.js示例詳解

    vue3項目新用戶引導組件driver.js示例詳解

    好用的用戶引導插件有?intro.js?和?driver.js?兩個,對比了一下,最終還是使用了driver.js,這篇文章主要介紹了vue3項目新用戶引導組件(driver.js),需要的朋友可以參考下
    2022-08-08
  • vue實現(xiàn)input輸入模糊查詢的三種方式

    vue實現(xiàn)input輸入模糊查詢的三種方式

    本文主要介紹了vue實現(xiàn)input輸入模糊查詢的三種方式嗎,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • 基于Vue實現(xiàn)的多條件篩選功能的詳解(類似京東和淘寶功能)

    基于Vue實現(xiàn)的多條件篩選功能的詳解(類似京東和淘寶功能)

    這篇文章主要介紹了Vue多條件篩選功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Vue.js學習筆記之修飾符詳解

    Vue.js學習筆記之修飾符詳解

    本篇文章主要介紹了Vue.js學習筆記之修飾符,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue實現(xiàn)元素拖動并互換位置的實現(xiàn)代碼

    vue實現(xiàn)元素拖動并互換位置的實現(xiàn)代碼

    在使用Vue的場景下,需要實現(xiàn)對元素進行拖動交換位置,接下來通過本文給大家介紹vue實現(xiàn)元素拖動并互換位置的實現(xiàn)代碼,需要的朋友可以參考下
    2023-09-09

最新評論

田阳县| 赤峰市| 大竹县| 桦南县| 分宜县| 土默特左旗| 南投市| 晴隆县| 句容市| 正蓝旗| 深水埗区| 沧州市| 芜湖县| 焦作市| 商河县| 蓬安县| 多伦县| 泰顺县| 弥渡县| 丹巴县| 奉节县| 邹平县| 靖西县| 扎兰屯市| 齐齐哈尔市| 卢湾区| 馆陶县| 山西省| 农安县| 三都| 福州市| 察哈| 航空| 客服| 灵山县| 招远市| 吴江市| 长海县| 林甸县| 巴里| 平罗县|