使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸
帶拖動(dòng)和播放功能的時(shí)間軸
timeline-slider-vue

環(huán)境
- node V12.20.0
- npm 6.14.8
Install
npm install --save timeline-slider-vue
Usage
main.js
import TimelineSliderVue from 'timeline-slider-vue'
import 'timeline-slider-vue/lib/timeline-slider-vue.css'
Vue.use(TimelineSliderVue)
```vue
<TimelineSliderVue
:date="date"
:mask="mask"
:mark-date="markDate"
:lock-date="lockDate"
:play="play"
:play-speed="playSpeed"
@change="handleChange"
@input="handleInput">
<div
slot="sliderContent"
slot-scope="scope">
{{ scope.data }}
</div>
</TimelineSliderVue>
使用示例
<template>
<div id="app">
<TimelineSliderVue
:date="date"
:mask="mask"
:mark-date="markDate"
:lock-date="lockDate"
:play="play"
:play-speed="playSpeed"
@change="handleChange"
@input="handleInput"
>
<div slot="sliderContent" slot-scope="scope">
{{ scope.data }}
</div>
</TimelineSliderVue>
</div>
</template>
<script>
export default {
data() {
return {
playSpeed: 1000, // 播放速度
play: false, // 自動(dòng)播放
lockFlag: false,
markFlag: false,
lockDate: [], // 鎖定的日期(滑動(dòng)結(jié)束時(shí)自動(dòng)跳到指定的日期)
markDate: [], // 做標(biāo)記的日期
mask: true,
date: '2022-06-01',
}
},
methods: {
handleInput(date, value) {
console.log('input', date, value)
},
handleChange(date, value) {
console.log('change', date, value)
},
},
}
</script>
豎向模式
<TimelineSliderVue
vertical
height="240px"
:max-value="100"
:min-value="0"
:init-value="40"
@change="handleChange"
@input="handleInput"
>
<div slot="sliderContent" slot-scope="scope">
<div>{{ scope.value }}</div>
</div>
</TimelineSliderVue>
Available props
| 參數(shù) | 類(lèi)型 | 默認(rèn)值 | 說(shuō)明 |
|---|---|---|---|
| vertical | Boolean | false | 豎向模式(只有滑塊功能樣式,沒(méi)有日期等功能) |
| initValue | Number | 0 | v-model 綁定的初始值(僅在 vertical = true 時(shí)生效) |
| minValue | Number | 0 | 最小值(僅在 vertical = true 時(shí)生效) |
| maxValue | Number | 100 | 最大值(僅在 vertical = true 時(shí)生效) |
| date | String | 當(dāng)日 | yyyy-MM-dd 格式的日期,根據(jù)傳入的日期,設(shè)置滑塊的位置 |
| mask | Boolean | true | 拖動(dòng)過(guò)程中是否顯示遮罩層 |
| mark-date | Array | [] | 一些特殊日期標(biāo)注,例如 [‘2022-03-08’, ‘2022-06-18’, ‘2022-11-11’] |
| lock-date | Array | [] | 鎖定的日期,只能在指定日期下切換,當(dāng)滑塊拖動(dòng)到其他位置,自動(dòng)跳到離指定日期最近的日期處例如 [‘2022-03-08’, ‘2022-06-18’, ‘2022-11-11’] |
| play | Boolean | false | 播放 |
| playSpeed | Number | 1000 | 播放速度,同 setInterval milliseconds 參數(shù) |
slot
| 參數(shù) | 說(shuō)明 |
|---|---|
| sliderContent | 滑塊內(nèi)容 |
Events
| 事件名稱(chēng) | 說(shuō)明 | 回調(diào)參數(shù) |
|---|---|---|
| change | 值改變時(shí)觸發(fā)(使用鼠標(biāo)拖拽時(shí),只在松開(kāi)鼠標(biāo)后觸發(fā)) | 改變后的值 |
| input | 數(shù)據(jù)改變時(shí)觸發(fā)(使用鼠標(biāo)拖拽時(shí),活動(dòng)過(guò)程實(shí)時(shí)觸發(fā)) | 改變后的值 |
Project setup
yarn install
Compiles and hot-reloads for development
yarn serve
Compiles and minifies for production
yarn build
Lints and fixes files
yarn lint
到此這篇關(guān)于使用Vue實(shí)現(xiàn)帶拖動(dòng)和播放功能的時(shí)間軸的文章就介紹到這了,更多相關(guān)Vue時(shí)間軸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue+axios+promise實(shí)際開(kāi)發(fā)用法詳解
這篇文章主要介紹了vue+axios+promise實(shí)際開(kāi)發(fā)用法詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
el-table渲染慢卡頓問(wèn)題最優(yōu)解決方案
本文主要介紹了el-table渲染慢卡頓問(wèn)題最優(yōu)解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
Vue使用distpicker插件實(shí)現(xiàn)省市級(jí)下拉框三級(jí)聯(lián)動(dòng)
這篇文章主要介紹了Vue使用distpicker插件實(shí)現(xiàn)省市級(jí)下拉框三級(jí)聯(lián)動(dòng),比如通過(guò)JSON文件生成對(duì)應(yīng)的區(qū)域下拉框,element-china-are插件,包括distpicker插件,通過(guò)代碼講解如何使用distpicker插件實(shí)現(xiàn)省市級(jí)三聯(lián)跳動(dòng),需要的朋友可以參考下2023-02-02
vue項(xiàng)目在webpack2實(shí)現(xiàn)移動(dòng)端字體自適配功能
這篇文章主要介紹了vue項(xiàng)目在webpack2實(shí)現(xiàn)移動(dòng)端字體自適配的相關(guān)知識(shí),本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Vue實(shí)現(xiàn)boradcast和dispatch的示例
這篇文章主要介紹了Vue實(shí)現(xiàn)boradcast和dispatch的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-11-11
淺析vue-router jquery和params傳參(接收參數(shù))$router $route的區(qū)別
今天做項(xiàng)目時(shí)踩到了vue-router傳參的坑(jquery和params),所以決定總結(jié)一下二者的區(qū)別。感興趣的朋友跟隨腳本之家小編一起看看吧2018-08-08

