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

vue中鼠標(biāo)拖動(dòng)觸發(fā)滾動(dòng)條的移動(dòng)

這篇具有很好參考價(jià)值的文章主要介紹了vue中鼠標(biāo)拖動(dòng)觸發(fā)滾動(dòng)條的移動(dòng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

在做后端管理系統(tǒng)中,像彈窗或大的表單時(shí),經(jīng)常會(huì)有滾動(dòng)條的出現(xiàn),但有些時(shí)候如流程、圖片等操作時(shí),僅僅使用鼠標(biāo)拖動(dòng)滾動(dòng)條操作不太方便,如果使用鼠標(biāo)拖拽圖片或容器來觸發(fā)滾動(dòng)條的移動(dòng)就比較方便了

功能設(shè)計(jì)

如果要實(shí)現(xiàn)鼠標(biāo)輔助觸發(fā)滾動(dòng)條的移動(dòng),需要借助 mousedown,mouseup,mousemove 三個(gè)事件,通過鼠標(biāo)的移動(dòng)來動(dòng)態(tài)修改滾動(dòng)條的scrollLeftscrollTop,來模擬實(shí)現(xiàn)滾動(dòng)條的位置變更。
考慮到鼠標(biāo)的拖動(dòng)有獨(dú)立和可復(fù)用性,可以創(chuàng)建一個(gè)類來封裝鼠標(biāo)事件,使用時(shí)只要把事件掛到指定的容器上,就可以實(shí)現(xiàn)功能的復(fù)用

1、創(chuàng)建鼠標(biāo)移動(dòng)事件類

創(chuàng)建move.js

// 鼠標(biāo)移動(dòng)滾動(dòng)位置類
class Drag {
  constructor(vm) {
    this.dragWrap = vm;// 要掛載的容器
    this._dom = {};
    this._x = 0;
    this._y = 0;
    this._top = 0;
    this._left = 0;
    this.move = false;
    this.down = false;
    this.init.apply(this, arguments);
  }

  // 綁定事件
  init() {
    this.bindEvent();
  }

  // 給要素增加鼠標(biāo)事件mousedown,mouseup,mousemove
  bindEvent() {
    var t = this;
    this.dragWrap.addEventListener('mousedown', function (e) {
      e && e.preventDefault();
      if (!t.move) {
        t.move = false;
        t.down = true;
        t._x = e.clientX;
        t._y = e.clientY;
        t._top = t.dragWrap.scrollTop;
        t._left = t.dragWrap.scrollLeft;
      }
    });
    this.dragWrap.addEventListener('mouseup', function (e) {
      e && e.preventDefault();
      t.move = false;
      t.down = false;
    });
    this.dragWrap.addEventListener('mousemove', function (e) {
      if (t.down) {
        e && e.preventDefault();
        t.move = true;
        let x = t._x - e.clientX;
        let y = t._y - e.clientY;
        t.dragWrap.scrollLeft = t._left + x;
        t.dragWrap.scrollTop = t._top + y;
      }
    });
  }
}
export default Drag;

在頁面中使用

在頁面中使用move.js類,實(shí)現(xiàn)鼠標(biāo)移動(dòng)觸發(fā)滾動(dòng)條位置的移動(dòng)

<template>
  <div style="padding: 20px">
    <h2>div move</h2>
    <div ref="main" class="main">
      <div class="box">
        <div>1111111111111111111111</div>
      </div>
    </div>
  </div>
</template>
<script>
import Drag from './move.js';
export default {
  data() {
    return {};
  },
  mounted() {
    new Drag(this.$refs.main);
  },
  methods: {}
};
</script>
<style lang="scss" scoped>
.main {
  width: 400px;
  height: 400px;
  background-color: lightgray;
  overflow: auto;
}
.box {
  width: 500px;
  height: 500px;
  padding-top: 100px;
  background-color: red;
  text-align: center;
  cursor: pointer;
}
</style>

實(shí)現(xiàn)效果
vue拖動(dòng)滾動(dòng)條,Web前端開發(fā),vue.js,javascript,css文章來源地址http://www.zghlxwxcb.cn/news/detail-541691.html

到了這里,關(guān)于vue中鼠標(biāo)拖動(dòng)觸發(fā)滾動(dòng)條的移動(dòng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序 movable-view 控制長(zhǎng)按才觸發(fā)拖動(dòng) 輕輕滑動(dòng)頁面正常滾動(dòng)效果

    微信小程序 movable-view 控制長(zhǎng)按才觸發(fā)拖動(dòng) 輕輕滑動(dòng)頁面正常滾動(dòng)效果

    今天寫 movable-area+movable-view遇到了個(gè)頭疼的問題 那就是 movable-view 監(jiān)聽了用戶拖拽自己 但 我們小程序 上下滾動(dòng)頁面靠的也是拖拽 也就是說 如果放在這里 用戶拖動(dòng) movable-view部分 就會(huì)永遠(yuǎn)觸發(fā)不了滾動(dòng) 那么 我們先可以 加一個(gè) bindlongpress=\\\"longpressHandler\\\"事件 用戶長(zhǎng)按時(shí)觸發(fā) 然

    2024年02月06日
    瀏覽(31)
  • 前端:橫向滾動(dòng)條,拖動(dòng)進(jìn)行左右滾動(dòng)(含隱藏滾動(dòng)條)

    前端:橫向滾動(dòng)條,拖動(dòng)進(jìn)行左右滾動(dòng)(含隱藏滾動(dòng)條)

    /* 隱藏Webkit瀏覽器的滾動(dòng)條 */ ul::-webkit-scrollbar { ????????display: none;? }?

    2024年02月10日
    瀏覽(20)
  • Qt獲取鼠標(biāo)移動(dòng)事件,窗口內(nèi)任意位置按下鼠標(biāo)左鍵拖動(dòng)窗口

    Qt獲取鼠標(biāo)移動(dòng)事件,窗口內(nèi)任意位置按下鼠標(biāo)左鍵拖動(dòng)窗口

    重寫窗口的兩個(gè)事件函數(shù)mousePressEvent和mouseMoveEvent即可: 在mousePressEvent 中,按下鼠標(biāo)左鍵時(shí),記錄窗口坐標(biāo),其中窗口坐標(biāo)的計(jì)算是由鼠標(biāo)事件獲取到鼠標(biāo)在整個(gè)屏幕中的坐標(biāo)(ev-globalpos()),然后再使用pos()獲取到鼠標(biāo)在窗口內(nèi)的相對(duì)位置,兩者之差就是窗口在整個(gè)屏幕上

    2024年02月12日
    瀏覽(30)
  • 【Unity功能】鼠標(biāo)移動(dòng)觸發(fā)事件方法

    【Unity功能】鼠標(biāo)移動(dòng)觸發(fā)事件方法

    ?方法一:方法觸發(fā) 注意:UGUI不能使用該方法 方法二:Event Trigger 注意:需要場(chǎng)景中包含EventSystem(在添加trigger組件后自動(dòng)添加);UGUI可以使用 方法三:

    2024年01月25日
    瀏覽(19)
  • 【ant design vue的table設(shè)置scroll后出現(xiàn)滾動(dòng)條的隱藏處理】

    【ant design vue的table設(shè)置scroll后出現(xiàn)滾動(dòng)條的隱藏處理】

    當(dāng)table列表內(nèi)容需要y軸方向滾動(dòng)時(shí),我們添加并設(shè)置了scroll值,例如下: 效果如下: 此時(shí),列表的表頭及列表的底部(:scroll中不設(shè)置x,底部的滾動(dòng)條也不會(huì)出現(xiàn))也出現(xiàn)了滾動(dòng)條,表格看起來不簡(jiǎn)潔,可以在css添加以下樣式: 效果如下:

    2024年02月16日
    瀏覽(21)
  • vue | element-ui中 如何修改表格Table組件中滾動(dòng)條的樣式

    在Table表格中,當(dāng)內(nèi)容超出容器時(shí)就會(huì)出現(xiàn)滾動(dòng)條,elemnt-ui自帶的滾動(dòng)條有時(shí)無法滿足需求,那么我們可以通過css偽類來實(shí)現(xiàn)對(duì)滾動(dòng)條的自定義。 滾動(dòng)條由兩部分組成的: 滑塊:可以滑動(dòng)的部分。 軌道:滾動(dòng)條的軌道,即滑塊的軌道。一般來說滑塊的顏色比軌道的顏色深一

    2024年02月11日
    瀏覽(40)
  • matlab/simulink鼠標(biāo)滾動(dòng)設(shè)置成上下移動(dòng)而不是縮放

    matlab/simulink鼠標(biāo)滾動(dòng)設(shè)置成上下移動(dòng)而不是縮放

    simulink一個(gè)我很不喜歡的功能是,鼠標(biāo)滾動(dòng)會(huì)讓畫面縮放而不是上下滾動(dòng),今天實(shí)在受不了了就把它改過來了,其實(shí)特別簡(jiǎn)單,半分鐘就搞定~ 點(diǎn)擊File,選擇Simulink Preferences 選擇editor,把Scroll wheel controls zooming(滾輪控制縮放)前面默認(rèn)的勾選取消掉 完成!之后頁面的縮放就

    2024年02月13日
    瀏覽(163)
  • vue實(shí)現(xiàn)滾動(dòng)觸發(fā)

    在 Vue 中,可以通過監(jiān)聽滾動(dòng)事件來實(shí)現(xiàn)滾動(dòng)觸發(fā)的效果。具體方法如下: 在需要監(jiān)聽滾動(dòng)事件的元素中添加一個(gè) scroll 事件的監(jiān)聽器。 在對(duì)應(yīng)的組件中定義 handleScroll() 方法。 在上述示例代碼中,如果監(jiān)聽到滾動(dòng)事件后,先將 scrollTop 變量更新為當(dāng)前的滾動(dòng)位置,然后利用防

    2024年02月07日
    瀏覽(8)
  • vue 封裝一個(gè)鼠標(biāo)拖動(dòng)選擇時(shí)間段功能
  • 解決mp4視頻無法拖動(dòng)進(jìn)度條的問題

    現(xiàn)象: 海康威視的監(jiān)控?cái)z像頭保存的視頻,,mp4格式, 大小1G。用PotPlayer播放器進(jìn)行播放, 不拖動(dòng)進(jìn)度條的話可以正常播放, 但拖動(dòng)進(jìn)度條后, 視頻無法正常播放, 在 PotPlayer 中的表現(xiàn)就是只有進(jìn)度條在走,視頻畫面停留在拖動(dòng)前的畫面。 PS: 同時(shí)保存的有多個(gè)監(jiān)控視頻,

    2024年02月03日
    瀏覽(131)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包