欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現(xiàn)拖拽滑動分割面板

 更新時間:2022年03月22日 08:19:59   作者:推開世界的門  
這篇文章主要為大家詳細介紹了vue實現(xiàn)拖拽滑動分割面板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue實現(xiàn)拖拽滑動分割面板的具體代碼,供大家參考,具體內容如下

需求背景

左邊是列表,右邊是詳情。 想更大范圍的查看詳情,所以要拖拽滑塊,進行面板的分割

整體思路

  • 在布局上,采用flex布局,單位采用百分比。設置flex:1,讓其自動伸縮
  • 滑動滑塊,計算滑塊在滑動過程中,占整個頁面的百分比
  • 將百分比,通過動態(tài)樣式賦值給列表頁的寬度
  • 同時改變滑塊的位置(也是百分比形式)
  • 其次就是在vue里對鼠標事件的使用

代碼實現(xiàn)

在template里 寫事件

@mousedown.prevent="mousedown"

在methods里寫方法

/**
? ? ?* 按下鼠標
? ? ?*/
? ? ? mousedown() {
? ? ? ? document.addEventListener('mousemove', this.handleMouseMove, false);
? ? ? ? document.addEventListener('mouseup', this.handleMouseUp, false);
? ? },
? ? /**
? ? ?* 按下滑動器,移動鼠標
? ? ?*/
? ? handleMouseMove(e) {
? ? ? /**
? ? ? ?* 計算容器總寬度
? ? ? ?* 計算滑塊到左邊的距離
? ? ? ?* 計算偏移百分比: (滑塊距離左邊的距離 / 頁面寬度) * 100
? ? ? ?* 傳遞移動百分比和距左邊的距離
? ? ? ?*/
? ? ? const clientRect = this.$refs.mainContent.getBoundingClientRect();
? ? ? const offset = e.pageX;
? ? ? const panelPercent = (offset / clientRect.width) * 100;
? ? ? this.panelPercent = panelPercent;
? ? ? this.mainContentWidth = offset;
? ? ? this.$refs.imgMove.style.left = panelPercent + '%';
? ? ? console.log('拖動中', this.panelPercent);
? ? },
? ? /**
? ? ?* 松開滑動器
? ? ?*/
? ? handleMouseUp () {
? ? ? document.removeEventListener('mousemove', this.handleMouseMove, false);
? ? },

對邊界處理

if (this.panelPercent < this.min) {
? ? ? ? this.panelPercent = this.min
? ? ? }
? ? ? if (this.panelPercent > this.max) {
? ? ? ? this.panelPercent = this.max
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解Vue中數(shù)據(jù)可視化詞云展示與詞云的生成

    詳解Vue中數(shù)據(jù)可視化詞云展示與詞云的生成

    數(shù)據(jù)可視化是現(xiàn)代Web應用程序中的一個重要組成部分,詞云是一種非常流行的數(shù)據(jù)可視化形式,可以用來展示文本數(shù)據(jù)中的主題和關鍵字,本文我們將介紹如何在Vue中使用詞云庫進行數(shù)據(jù)可視化詞云展示和詞云生成,需要的可以參考一下
    2023-06-06
  • 詳解elementui之el-image-viewer(圖片查看器)

    詳解elementui之el-image-viewer(圖片查看器)

    這篇文章主要介紹了詳解elementui之el-image-viewer(圖片查看器),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • 基于vue中解決v-for使用報紅并出現(xiàn)警告的問題

    基于vue中解決v-for使用報紅并出現(xiàn)警告的問題

    下面小編就為大家分享一篇基于vue中解決v-for使用報紅并出現(xiàn)警告的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue3使用vue-cli引入windicss報錯Can‘t resolve windi.css問題

    vue3使用vue-cli引入windicss報錯Can‘t resolve windi.css問題

    這篇文章主要介紹了vue3使用vue-cli引入windicss報錯Can‘t resolve windi.css問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue報錯Failed to execute 'appendChild' on 'Node'解決

    vue報錯Failed to execute 'appendChild&apos

    這篇文章主要為大家介紹了vue報錯Failed to execute 'appendChild' on 'Node'解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • Vue項目打包(build)時,自動打以時間命名的壓縮包方式

    Vue項目打包(build)時,自動打以時間命名的壓縮包方式

    這篇文章主要介紹了Vue項目打包(build)時,自動打以時間命名的壓縮包方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue3?封裝?Element?Plus?Menu?無限級菜單組件功能的詳細代碼

    Vue3?封裝?Element?Plus?Menu?無限級菜單組件功能的詳細代碼

    本文分別使用?SFC(模板方式)和?tsx?方式對?Element?Plus?*el-menu*?組件進行二次封裝,實現(xiàn)配置化的菜單,有了配置化的菜單,后續(xù)便可以根據(jù)路由動態(tài)渲染菜單,對Vue3?無限級菜單組件相關知識感興趣的朋友一起看看吧
    2022-09-09
  • 基于vue2的canvas時鐘倒計時組件步驟解析

    基于vue2的canvas時鐘倒計時組件步驟解析

    今天給大家介紹一款基于vue2的canvas時鐘倒計時組件,這個時鐘倒計時組件采用canvas動畫的炫酷動畫效果形式,根據(jù)剩余時間的多少變換顏色和旋轉扇形的速度,適合搶購、拍賣、下注等業(yè)務場景,且對移動端友好,需要的朋友可以參考下
    2018-11-11
  • 詳解Vue組件如何正確引用和使用外部方法

    詳解Vue組件如何正確引用和使用外部方法

    在開發(fā)Vue應用時,我們經(jīng)常需要在多個組件中復用一些通用的函數(shù)或方法,這些函數(shù)可能是我們自己編寫的工具函數(shù),也可能是從第三方庫中導入的,下面我們就來看看如何正確引用和使用外部方法吧
    2024-01-01
  • vue,angular,avalon這三種MVVM框架優(yōu)缺點

    vue,angular,avalon這三種MVVM框架優(yōu)缺點

    本文給大家具體分析了下vue,angular,avalon這三種MVVM框架優(yōu)缺點,十分的細致全面,有需要的小伙伴可以參考下
    2016-04-04

最新評論