国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue 3 + TypeScript + Vite 項目中,實現(xiàn)選中圖片移動

這篇具有很好參考價值的文章主要介紹了Vue 3 + TypeScript + Vite 項目中,實現(xiàn)選中圖片移動。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

<template>
  <div class="image-container" @mousedown="startDrag" @mousemove="drag" @mouseup="endDrag">
    <img src="path/to/image.jpg" alt="My Image" ref="imageRef">
  </div>
</template>

在組件的?<script>?標簽中,定義相關的數(shù)據(jù)和方法。首先,使用 Vue 的?ref?函數(shù)創(chuàng)建一個對圖片元素的引用:

<script>
import { ref } from 'vue';

export default {
  setup() {
    const imageRef = ref(null);

    // ...

    return {
      imageRef,
      // ...
    };
  },
};
</script>

接下來,實現(xiàn)選中時出現(xiàn)邊框的效果。你可以通過設置 CSS 樣式來實現(xiàn)這一點。以下是一個簡單的示例:

.image-container {
  position: relative;
}

.image-container.selected {
  outline: 2px solid blue;
}

.image-container.selected::before {
  content: '';
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border: 1px dashed blue;
}

在組件的?<template>?中,為選中的容器元素動態(tài)綁定?selected?類名??梢酝ㄟ^監(jiān)聽鼠標事件來實現(xiàn)這一點。例如,在?startDrag?方法中添加以下代碼:

function startDrag() {
  // 添加選中樣式
  imageRef.value.parentElement.classList.add('selected');

  // ...
}

endDrag 方法中移除選中樣式:

function endDrag() {
  // 移除選中樣式
  imageRef.value.parentElement.classList.remove('selected');

  // ...
}

實現(xiàn)拖動圖片的功能。在?drag?方法中,計算鼠標移動的距離,并將其應用于圖片元素的位置。這里可以使用鼠標事件的?clientX?和?clientY?屬性來獲取鼠標的位置。以下是一個簡單的示例:文章來源地址http://www.zghlxwxcb.cn/news/detail-641159.html

function drag(event) {
  // 確保只有當圖片被選中時才會觸發(fā)拖動操作
  if (imageRef.value.parentElement.classList.contains('selected')) {
    const imageElement = imageRef.value;
    const containerElement = imageElement.parentElement;

    const deltaX = event.clientX - containerElement.offsetLeft;
    const deltaY = event.clientY - containerElement.offsetTop;

    imageElement.style.left = `${deltaX}px`;
    imageElement.style.top = `${deltaY}px`;

    // ...
  }
}

到了這里,關于Vue 3 + TypeScript + Vite 項目中,實現(xiàn)選中圖片移動的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Vue3.2 + TypeScript + Pinia + Vite4 + Element-Plus + 微前端(qiankun) 后臺管理系統(tǒng)模板(已開源---顯示項目頁面截圖)

    Vue3.2 + TypeScript + Pinia + Vite4 + Element-Plus + 微前端(qiankun) 后臺管理系統(tǒng)模板(已開源---顯示項目頁面截圖)

    Wocwin-Admin,是基于 Vue3.2、TypeScript、Vite、Pinia、Element-Plus、Qiankun(微前端) 開源的一套后臺管理模板;同時集成了微前端 qiankun也可以當做一個子應用。項目中組件頁面使用了Element-plus 二次封裝 t-ui-plus 組件,目前已新增fastmock接口。 Link:https://wocwin.github.io/wocwin-admin/ 賬號:

    2024年02月08日
    瀏覽(40)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(3) - vite配置

    Vite4+Typescript+Vue3+Pinia 從零搭建(3) - vite配置

    項目代碼同步至碼云 weiz-vue3-template 關于vite的詳細配置可查看 vite官方文檔,本文簡單介紹vite的常用配置。 項目初建后, vite.config.ts 的默認內(nèi)容如下: 比如,修改 App.vue : 根目錄下新建 .env 、 .env.development 、 .env.production 三個文件。 .env 文件內(nèi)新增內(nèi)容: .env.development 文件內(nèi)

    2024年02月05日
    瀏覽(86)
  • Vue3 + Vite + TypeScript + dataV 打造可視化大屏

    Vue3 + Vite + TypeScript + dataV 打造可視化大屏

    網(wǎng)上有許多開源的可視化大屏項目,但是分析之后,還是想自己從 0 搭建一個可視化大屏項目,畢竟 Vue 一直在更新,自己搭建的可以使用最新版本的 Vue ,如果對版本沒有太多要求的小伙伴們選擇那些開源項目的基礎上去修改也是很不錯的。其次自己搭建一個項目,可以更好

    2024年02月03日
    瀏覽(19)
  • TypeScript配置-- 2. 了解ts配置項,根據(jù)vite項目了解typescript配置文件,tsconfig.json、tsconfig.node.json、

    TypeScript配置-- 2. 了解ts配置項,根據(jù)vite項目了解typescript配置文件,tsconfig.json、tsconfig.node.json、

    僅對于Ts項目來說,產(chǎn)生紅色波浪線,主要是由于語法錯誤,當然也有其他情況… 這邊先引入一個greeter.ts文件 發(fā)現(xiàn)居然沒有跟一些項目一樣,有紅色的波浪線,不是說了函數(shù)里面的參數(shù)是需要顯示追加類型的嗎。 tsconfig.json 不知道有什么配置項?鼠標懸浮試試~~ 具體可以看

    2024年02月03日
    瀏覽(52)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(4) - 代碼規(guī)范

    項目代碼同步至碼云 weiz-vue3-template 要求代碼規(guī)范,主要是為了提高多人協(xié)同和代碼維護效率,結合到此項目,具體工作就是為項目配置 eslint 和 prettier 。 安裝 EditorConfig for VS Code 插件,根目錄下新建 .editorconfig 文件,增加以下配置 如果是非windows系統(tǒng), end_of_line 設置為 cr 安

    2024年02月05日
    瀏覽(92)
  • 小白系列Vite-Vue3-TypeScript:011-登錄界面搭建及動態(tài)路由配置

    小白系列Vite-Vue3-TypeScript:011-登錄界面搭建及動態(tài)路由配置

    前面幾篇文章我們介紹的都是Vite+Vue3+TypeScript項目中環(huán)境相關的配置,接下來我們開始進入系統(tǒng)搭建部分。本篇我們來介紹登錄界面搭建及動態(tài)路由配置,大家一起擼起來...... 項目登陸接口是通過mockjs前端來模擬的 模擬服務接口LoginApi 首先在src/mock文件夾下新建login.ts文件,

    2024年02月04日
    瀏覽(40)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(5) - 路由router

    Vite4+Typescript+Vue3+Pinia 從零搭建(5) - 路由router

    項目代碼同步至碼云 weiz-vue3-template Vue Router 是 Vue.js 的官方路由。它與 Vue.js 核心深度集成,讓用 Vue.js 構建單頁應用變得輕而易舉。 在 src/view 下新建 home.vue 和 login.vue ,內(nèi)容如下: login.vue 里修改下對應name即可 index.ts 作為路由入口, static.ts 作為靜態(tài)路由, modules 內(nèi)還可以

    2024年02月05日
    瀏覽(100)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(2) - ts配置

    項目代碼同步至碼云 weiz-vue3-template 關于tsconfig的配置字段可查看其他文檔,如 typeScript tsconfig配置詳解 文件修改如下: 修改文件如下: 新建文件夾 types ,用來存放類型定義。比如新建 index.d.ts : 后續(xù)也可以新增其他文件,比如 global.d.ts 存放全局定義, router.d.ts 存放路由定

    2024年02月05日
    瀏覽(103)
  • Vite4+Typescript+Vue3+Pinia 從零搭建(7) - request封裝

    Vite4+Typescript+Vue3+Pinia 從零搭建(7) - request封裝

    項目代碼同步至碼云 weiz-vue3-template 基于 axios 封裝請求,支持多域名請求地址 utils 目錄下新建 request 文件夾,并新建 index.ts 、 request.ts 和 status.ts 文件。 此時,eslint會報 switch 前面的空格錯誤,需要修改 .eslintrc.cjs 里的 indent ,修改后,錯誤消失。 src 目錄下新建 api 文件夾,

    2024年02月04日
    瀏覽(99)
  • vue3 + typescript + vite + naive ui + tailwindcss + jsx 仿蘋果桌面系統(tǒng)

    vue3 + typescript + vite + naive ui + tailwindcss + jsx 仿蘋果桌面系統(tǒng)

    基于 vue3.x + typescript + vite + naive ui + tailwindcss + jsx + vue-router + pinia,項目使用 tsx 作為模版輸出,全程沒有使用vue提供的SFC, 仿macos桌面前端項目,開源免費模版,希望減少工作量和學習新技術,希望能夠幫助大家; 本人主要是后端的開發(fā),對于前端我也是剛?cè)腴T的小白,有很

    2024年02月07日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包