免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

如何用vue實(shí)現(xiàn)一個(gè)側(cè)邊欄拖動(dòng)功能

這篇文章主要介紹了如何用vue實(shí)現(xiàn)一個(gè)側(cè)邊欄拖動(dòng)功能的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇如何用vue實(shí)現(xiàn)一個(gè)側(cè)邊欄拖動(dòng)功能文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。

創(chuàng)新互聯(lián)專注骨干網(wǎng)絡(luò)服務(wù)器租用十載,服務(wù)更有保障!服務(wù)器租用,綿陽(yáng)機(jī)房托管 成都服務(wù)器租用,成都服務(wù)器托管,骨干網(wǎng)絡(luò)帶寬,享受低延遲,高速訪問(wèn)。靈活、實(shí)現(xiàn)低成本的共享或公網(wǎng)數(shù)據(jù)中心高速帶寬的專屬高性能服務(wù)器。

首先,需要安裝 Vue.js,可以使用 npm 或 yarn 安裝,并在項(xiàng)目中引入 Vue.js:

<script src="https://cdn.jsdelivr.net/npm/vue"></script>

在 Vue.js 中,可以定義組件,在組件中編寫側(cè)邊欄拖動(dòng)的代碼。在本例中,我們將創(chuàng)建一個(gè)名為 DragSidebar 的組件。在 DragSidebar 組件中,需要定義兩個(gè)數(shù)據(jù)屬性:dragging 和 mouseX。dragging 表示側(cè)邊欄是否正在被拖動(dòng),mouseX 表示鼠標(biāo)的 X 坐標(biāo)。

<template>
  <div class="drag-container">
    <div class="sidebar" :style="{ transform: translate }" @mousedown="mousedown"
         @mouseup="mouseup" @mousemove="mousemove">
      <div class="content">
        <slot></slot>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      dragging: false,
      mouseX: 0,
      sidebarX: 0
    }
  },
  computed: {
    translate() {
      return `translate3d(${this.sidebarX}px, 0, 0)`
    }
  },
  methods: {
    mousedown(event) {
      this.dragging = true
      this.mouseX = event.clientX
    },
    mouseup() {
      this.dragging = false
    },
    mousemove(event) {
      if (this.dragging) {
        const diff = event.clientX - this.mouseX
        this.sidebarX += diff
        this.mouseX = event.clientX
      }
    }
  }
}
</script>

<style scoped>
.drag-container {
  display: flex;
  align-items: stretch;
  height: 100vh;
  overflow: hidden;
}

.sidebar {
  width: 320px;
  min-width: 320px;
  height: 100%;
  background-color: #F2F2F2;
  transition: transform .3s ease;
}

.content {
  padding: 24px;
}
</style>

在上面的代碼中,我們定義了三個(gè)方法:mousedown、mouseup 和 mousemove,分別處理按下、松開(kāi)和移動(dòng)鼠標(biāo)事件。在 mousedown 中,我們將 dragging 屬性設(shè)置為 true,表示側(cè)邊欄開(kāi)始被拖動(dòng),同時(shí)記錄鼠標(biāo)的 X 坐標(biāo)。在 mouseup 中,我們將 dragging 屬性設(shè)置為 false,表示側(cè)邊欄停止被拖動(dòng)。在 mousemove 中,我們根據(jù)鼠標(biāo)的移動(dòng)距離調(diào)整側(cè)邊欄的位置。

最后,我們?cè)诟附M件中使用 DragSidebar 組件,并在其中添加一些子組件來(lái)測(cè)試。你可能需要自行添加一些 CSS 樣式來(lái)適配你的項(xiàng)目需求。

<template>
  <div class="app">
    <drag-sidebar>
      <h2>Title</h2>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      <p>Suspendisse consectetur pharetra ante sit amet bibendum.</p>
    </drag-sidebar>
    <div class="main">
      <h2>Main content</h2>
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
      <p>Suspendisse consectetur pharetra ante sit amet bibendum.</p>
    </div>
  </div>
</template>

<script>
import DragSidebar from './components/DragSidebar.vue'

export default {
  components: {
    DragSidebar
  }
}
</script>

<style>
.app {
  height: 100vh;
  display: flex;
}

.main {
  flex-grow: 1;
  padding: 24px;
}
</style>

關(guān)于“如何用vue實(shí)現(xiàn)一個(gè)側(cè)邊欄拖動(dòng)功能”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“如何用vue實(shí)現(xiàn)一個(gè)側(cè)邊欄拖動(dòng)功能”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:如何用vue實(shí)現(xiàn)一個(gè)側(cè)邊欄拖動(dòng)功能
轉(zhuǎn)載源于:http://m.newbst.com/article26/gsejcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計(jì)動(dòng)態(tài)網(wǎng)站外貿(mào)建站手機(jī)網(wǎng)站建設(shè)小程序開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司