vue?使用el-table循環(huán)輪播數(shù)據(jù)列表的實(shí)現(xiàn)
使用el-table循環(huán)輪播數(shù)據(jù)列表
因?yàn)槭窃趦?nèi)網(wǎng)開(kāi)發(fā),安裝插件導(dǎo)包進(jìn)去非常麻煩,有條件的可以去下載插件實(shí)現(xiàn),咱這里貼一下手?jǐn)]的代碼。
需要實(shí)現(xiàn)的效果大抵如下:(手機(jī)拍的,有些糊)
大部分實(shí)現(xiàn)的是監(jiān)聽(tīng)是否到了div的底部,如果到了底部,就直接跳到頂部,這種體驗(yàn)感不是特別好,沒(méi)有達(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簡(jiǎn)單輪播
<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="名稱(chēng)" 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)畫(huà)
- vue如何從后臺(tái)獲取數(shù)據(jù)生成動(dòng)態(tài)菜單列表
- Vue3 列表界面數(shù)據(jù)展示詳情
- 使用Vue3進(jìn)行數(shù)據(jù)綁定及顯示列表數(shù)據(jù)
- vue列表數(shù)據(jù)刪除后主動(dòng)刷新頁(yè)面及刷新方法詳解
- 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單頁(yè)面改造多頁(yè)面應(yīng)用的全過(guò)程記錄
眾所都知vue是一個(gè)單頁(yè)面應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于vue單頁(yè)面改造多頁(yè)面應(yīng)用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05vue2從數(shù)據(jù)變化到視圖變化之diff算法圖文詳解
這篇文章主要介紹了vue2從數(shù)據(jù)變化到視圖變化之diff算法圖文詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09vue.js添加一些觸摸事件以及安裝fastclick的實(shí)例
今天小編就為大家分享一篇vue.js添加一些觸摸事件以及安裝fastclick的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Vue3實(shí)現(xiàn)自定義指令攔截點(diǎn)擊事件的示例代碼
某些應(yīng)用場(chǎng)景會(huì)給點(diǎn)擊事件添加權(quán)限,不存在權(quán)限就攔截點(diǎn)擊事件,有權(quán)限就繼續(xù)正常觸發(fā)點(diǎn)擊事件。這樣的效果是如何實(shí)現(xiàn)的呢,本文就來(lái)和大家詳細(xì)講講2023-02-02VSCode創(chuàng)建Vue項(xiàng)目的完整步驟教程
Vue是一個(gè)輕量級(jí)、漸進(jìn)式的Javascript框架,如果想要要開(kāi)發(fā)全新的Vue項(xiàng)目,建議項(xiàng)目構(gòu)建工具vue-cli,下面這篇文章主要給大家介紹了關(guān)于VSCode創(chuàng)建Vue項(xiàng)目的完整步驟,需要的朋友可以參考下2022-06-06vue.js實(shí)現(xiàn)刷新當(dāng)前頁(yè)面的方法教程
這篇文章主要給大家介紹了關(guān)于vue.js實(shí)現(xiàn)刷新當(dāng)前頁(yè)面的方法教程,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。2017-07-07