vuejs中拖動改變元素寬度實現寬度自適應大小

2022-07-11 16:57:12 字數 566 閱讀 6931

需求效果:

原理:拖動效果的實現基本都是dom操作來實現的,通過拖動分隔線,計算分隔線與瀏覽器邊框的距離(left),來實現拖動之後的不同寬度的計算;當拖動分隔線1時,計算元素框left和mid;當拖動分隔線2時,計算元素框mid和right;同時設定元素框最小值以防止元素框拖沒了(其實是被遮住了)。使用setcapture() 和 releasecapture()的函式功能指定視窗裡設定滑鼠捕獲。

在vuejs中使用,methods設定方法,mounted鉤子掛載:

html部分**:

>

西瓜li>

li>

備註2li>

li>

testli>

ul>

芒果li>

li>

備註li>

li>

testli>

ul>

div>

template>

js部分**

vue中 拖動元素邊框 改變元素寬度

先上效果圖 如圖所示,通過拖動來改變表單的寬度。但實際上,這邊並不是表單的邊框,而是乙個單獨的元件。通過監聽滑鼠的down,move以及up事件。我們可以單獨的寫個元件handle.vue。監聽事件並this.emit將值傳給父元件,父元件通過傳過來的值來動態的修改需要改變寬度的元素。如效果圖所示,...

svg中實現元素拖動

svg中實現元素拖動 目錄 html 屬性 初始化 mousedown mousemove mouseup 沒有設定初始值.var originx 0 滑鼠初始位置 var originy 0 var domx 0 dom初始元素 var domy 0 var dom 初始元素 var ismous...

自定義矩形可拖動及寬度大小的改變

標頭檔案 pragma once include include ui dlg daytime.h include include include include define padding 6 enum direction class dlg daytime public qwidget 原始檔...