使用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-10el-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-08Vue使用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-02vue項(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-06Vue實(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