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

vue實(shí)現(xiàn)拖拽窗口功能

 更新時(shí)間:2022年04月08日 13:33:40   作者:橡皮擦不掉的  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)拖拽窗口功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue拖拽窗口簡單實(shí)現(xiàn)代碼,供大家參考,具體內(nèi)容如下

效果

實(shí)現(xiàn)代碼

<template>
? <transition>
? ? <!-- ? ?綁定style中top和left-->
? ? <div class="moveBox" :style="position" v-show="show">
? ? ? <div
? ? ? ? class="moveHead"
? ? ? ? @mousedown="mousedown"
? ? ? ? @mousemove="mousemove"
? ? ? ? @mouseup="mouseup"
? ? ? ? @mouseleave="mousemove"
? ? ? ></div>
? ? ? <!-- ? ? ?關(guān)閉按鈕-->
? ? ? <div class="close" @click="toggleShow">×</div>
? ? ? <div class="content">
? ? ? ? <!--插槽-->
? ? ? ? <slot></slot>
? ? ? </div>
? ? </div>
? </transition>
</template>

<script>
export default {
? name: "moveBox",
? data() {
? ? return {
? ? ? show: true,//是否顯示
? ? ? x: 100,//left:x
? ? ? y: 50,//top:y
? ? ? leftOffset: 0,//鼠標(biāo)距離移動(dòng)窗口左側(cè)偏移量
? ? ? topOffset: 0,//鼠標(biāo)距離移動(dòng)窗口頂部偏移量
? ? ? isMove: false,//是否移動(dòng)標(biāo)識
? ? };
? },
? computed: {
? ? //top與left加上px
? ? position() {
? ? ? return `top:${this.y}px;left:${this.x}px;`;
? ? },
? },
? methods: {
? ? //控制打開關(guān)閉
? ? toggleShow() {
? ? ? this.x = 100;
? ? ? this.y = 50;
? ? ? this.show = !this.show;
? ? },
? ? mousedown(event) {
? ? ? //鼠標(biāo)按下事件
? ? ? this.leftOffset = event.offsetX;
? ? ? this.topOffset = event.offsetY;
? ? ? this.isMove = true;
? ? },
? ? //鼠標(biāo)移動(dòng)
? ? mousemove(event) {
? ? ? if (!this.isMove) {
? ? ? ? return;
? ? ? }
? ? ? this.x = event.clientX - this.leftOffset;
? ? ? this.y = event.clientY - this.topOffset;
? ? },
? ? //鼠標(biāo)抬起
? ? mouseup() {
? ? ? this.isMove = false;
? ? },
? },
};
</script>

<style lang="less" scoped>
.moveBox {
? width: 500px;
? height: 300px;
? position: fixed;
? box-shadow: 0 0 5px 3px #95a5a6;
? .moveHead {
? ? height: 30px;
? ? background-color: #bdc3c7;
? ? cursor: move;
? }
? .close {
? ? position: absolute;
? ? right: 0;
? ? top: 0;
? ? line-height: 30px;
? ? font-size: 24px;
? ? cursor: pointer;
? ? display: block;
? ? width: 30px;
? ? height: 30px;
? ? text-align: center;
? }
}
.v-enter,
.v-leave-to {
? opacity: 0;
? transform: scale(0.5);
}
.content {
? padding: 10px;
}
.v-enter-active,
.v-leave-active {
? transition: all 0.5s ease;
}
</style>

使用

<template>
? <div class="home">
? ? <button @click="$refs.moveBox.toggleShow()">toggle moveBox</button>
? ? <move-box ref="moveBox">
? ? ? Hello World
? ? </move-box>
? </div>
</template>

代碼沒什么難度,主要是使用了定位,在鼠標(biāo)移動(dòng)事件中定義top和left值。

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

相關(guān)文章

  • elementUI select組件默認(rèn)選中效果實(shí)現(xiàn)的方法

    elementUI select組件默認(rèn)選中效果實(shí)現(xiàn)的方法

    這篇文章主要介紹了elementUI select組件默認(rèn)選中效果實(shí)現(xiàn)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue自定義可選時(shí)間的日歷組件

    vue自定義可選時(shí)間的日歷組件

    這篇文章主要為大家詳細(xì)介紹了vue自定義可選時(shí)間的日歷組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Spring boot 和Vue開發(fā)中CORS跨域問題解決

    Spring boot 和Vue開發(fā)中CORS跨域問題解決

    這篇文章主要介紹了Spring boot 和Vue開發(fā)中CORS跨域問題解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • 基于javascript的拖拽類封裝詳解

    基于javascript的拖拽類封裝詳解

    這篇文章主要介紹了基于javascript的拖拽類封裝,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 使用element-ui table expand展開行實(shí)現(xiàn)手風(fēng)琴效果

    使用element-ui table expand展開行實(shí)現(xiàn)手風(fēng)琴效果

    這篇文章主要介紹了使用element-ui table expand展開行實(shí)現(xiàn)手風(fēng)琴效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn)

    element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn)

    這篇文章主要介紹了element-ui tooltip修改背景顏色和箭頭顏色的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • nextTick能否獲取到最新dom原理解析

    nextTick能否獲取到最新dom原理解析

    這篇文章主要為大家介紹了nextTick能否獲取到最新dom原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • vue中mixins的工具的封裝方式

    vue中mixins的工具的封裝方式

    這篇文章主要介紹了vue中mixins的工具的封裝方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue?data中的return使用方法示例

    vue?data中的return使用方法示例

    當(dāng)一個(gè)組件被定義,data必須聲明為返回一個(gè)初始數(shù)據(jù)對象的函數(shù),因?yàn)榻M件可能被用來創(chuàng)建多個(gè)實(shí)例,下面這篇文章主要給大家介紹了關(guān)于vue?data中return使用,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Vue3.5中響應(yīng)式Props解構(gòu)的編譯原理

    Vue3.5中響應(yīng)式Props解構(gòu)的編譯原理

    在Vue3.5版本中,響應(yīng)式Props的解構(gòu)功能正式轉(zhuǎn)正,該功能允許即使在解構(gòu)后也不丟失響應(yīng)性,文通過編譯階段的處理,如何保持解構(gòu)后的props變量仍保持響應(yīng)性,編譯過程中的defineProps宏函數(shù)處理,通過AST和上下文操作實(shí)現(xiàn)變量替換,從而讓解構(gòu)后的變量在運(yùn)行時(shí)維持響應(yīng)式狀態(tài)
    2024-09-09

最新評論

高唐县| 左贡县| 抚州市| 威宁| 通山县| 镇安县| 延长县| 竹北市| 双鸭山市| 郎溪县| 东兰县| 缙云县| 岳阳县| 务川| 扎兰屯市| 郑州市| 隆德县| 巴里| 抚宁县| 五寨县| 和林格尔县| 梅州市| 和顺县| 衡水市| 家居| 正宁县| 昌图县| 高邑县| 贵德县| 绥阳县| 湖北省| 桐柏县| 穆棱市| 吕梁市| 云林县| 广汉市| 镇平县| 白沙| 阿尔山市| 汾阳市| 桂平市|