vue?使用el-table循環(huán)輪播數(shù)據(jù)列表的實(shí)現(xiàn)
使用el-table循環(huán)輪播數(shù)據(jù)列表
因?yàn)槭窃趦?nèi)網(wǎng)開發(fā),安裝插件導(dǎo)包進(jìn)去非常麻煩,有條件的可以去下載插件實(shí)現(xiàn),咱這里貼一下手?jǐn)]的代碼。
需要實(shí)現(xiàn)的效果大抵如下:(手機(jī)拍的,有些糊)
大部分實(shí)現(xiàn)的是監(jiān)聽是否到了div的底部,如果到了底部,就直接跳到頂部,這種體驗(yàn)感不是特別好,沒有達(dá)到輪播的真正效果。

表格數(shù)據(jù),devData我綁定了個(gè)空數(shù)組,因?yàn)閷?shí)在是懶得敲了,按道理排名也應(yīng)該是從api獲取,而不是拿index。
<template>
? <div>
? ? <el-table
? ? ? :data="devData"
? ? ? style="width: 100%">
? ? ? <el-table-column label="排名">
? ? ? ? <template slot-scope="scope">
? ? ? ? ? <span>第{{scope.$index +1}}名</span>
? ? ? ? </template>
? ? ? </el-table-column>
? ? ? <el-table-column
? ? ? ? prop="name"
? ? ? ? label="日期">
? ? ? </el-table-column>
? ? ? <el-table-column
? ? ? ? prop="scale"
? ? ? ? label="姓名">
? ? ? </el-table-column>
? ? </el-table>
? </div>
</template><script>
?export defalut {
? dsta() {
? ? return {
? ? ?devData: []
? ? }
? }
}
</script>export defalut {
created() {
var isScroll = true // 也可以定義到data里
this.$nextTick(() => {
let div = document.getElementsByClassName('el-table__body-wrapper')[0]
div.style.height = '110px'
div.addEventListener('mouseenter', () => {
isScroll = false
})
div.addEventListener('mouseleave', () => {
idScroll = true
})
let t = document.getElementByClassName('el-table__body')[0]
setInterval(() =>{
if(isScroll) {
let data = this.devData[0]
setTimeout(() => {
this.devData.push(data)
t.style.transition = 'all .5s'
t.style.marginTop = '-41px'
}, 500)
setTimeout(() =>{
this.devData.splice(0,1)
t.style.transition = 'all 0s ease 0s'
t.style.marginTop = '0'
}, 1000)
}
}, 2500)
})
}
}vue el-table簡單輪播
<el-table :data="readData0" size="mini" class="v-table" height="200" ?ref="tableData_realtime" @cell-mouse-enter="hover_dibiao" @cell-mouse-leave="leave_dibiao"> ?<el-table-column type="index" label="序號(hào)" width="50" align="center"></el-table-column> ? ? ? ? ? ? ? ? ? ? ? ? <el-table-column prop="area" label="地區(qū)" align="center" :show-overflow-tooltip="true"></el-table-column> ? ? ? ? ? ? ? ? ? ? ? ? <el-table-column prop="siteName" label="名稱" align="center" :show-overflow-tooltip="true"></el-table-column> </el-table> ?
created() {
? ? ? ? this.$nextTick(()=> { ?
? ? ? ? ? ? this.tableData_dibiao()//輪播 ? ? ? ? ? ? ? ?
? ? ? ? }) ? ? ? ? ?
? ?},?
?
tableData_dibiao(){
? ? ? ? const table = this.$refs.tableData_realtime ? ? ? ? ?
? ? ? ? const divData = table.bodyWrapper ? ? ? ? ??
? ? ? ? this.dibiao_clear=setInterval(() => { ? ? ? ? ? ? ??
? ? ? ? ? ? divData.scrollTop += 1 ? ? ? ? ? ? ??
? ? ? ? ? ? if (divData.clientHeight + divData.scrollTop == divData.scrollHeight) { ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? divData.scrollTop = 0
? ? ? ? ? ? }
? ? ? ? }, 100) ? ? ? ? ? ?
? ? ?}, ?
? ? ?hover_dibiao(){//鼠標(biāo)移入清除定時(shí)器(暫停輪播)
? ? ? ? clearInterval(this.dibiao_clear)
? ? ?},
? ? ?leave_dibiao(){//鼠標(biāo)移出繼續(xù)執(zhí)行輪播
? ? ? ? this.tableData_dibiao()
? ? ?}, ? ? ? ?以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Vue+elementUI實(shí)現(xiàn)動(dòng)態(tài)展示列表的數(shù)據(jù)
- vue實(shí)現(xiàn)動(dòng)態(tài)列表尾部添加數(shù)據(jù)執(zhí)行動(dòng)畫
- vue如何從后臺(tái)獲取數(shù)據(jù)生成動(dòng)態(tài)菜單列表
- Vue3 列表界面數(shù)據(jù)展示詳情
- 使用Vue3進(jìn)行數(shù)據(jù)綁定及顯示列表數(shù)據(jù)
- vue列表數(shù)據(jù)刪除后主動(dòng)刷新頁面及刷新方法詳解
- vue2.0實(shí)現(xiàn)列表數(shù)據(jù)增加和刪除
- Vue如何獲取數(shù)據(jù)列表展示
- vue input輸入框關(guān)鍵字篩選檢索列表數(shù)據(jù)展示
- vue父列表數(shù)據(jù)獲取子列表數(shù)據(jù)的實(shí)現(xiàn)步驟
相關(guān)文章
vue實(shí)現(xiàn)在data里引入相對(duì)路徑
這篇文章主要介紹了vue實(shí)現(xiàn)在data里引入相對(duì)路徑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
vue實(shí)現(xiàn)氣泡運(yùn)動(dòng)撞擊效果
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)氣泡運(yùn)動(dòng)撞擊效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08
vue實(shí)現(xiàn)簡易選項(xiàng)卡功能
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡易選項(xiàng)卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
vue自定義底部導(dǎo)航欄Tabbar的實(shí)現(xiàn)代碼
這篇文章主要介紹了vue自定義底部導(dǎo)航欄Tabbar的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09

