翼度科技»论坛 编程开发 JavaScript 查看内容

表格改成轮播表格效果

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
表格改成轮播表格效果
  1. //使用表格组件
  2. <el-table ref="waitTable" :data="waitApproData" >
  3.   <el-table-column label="标准集" prop="sortName"></el-table-column>
  4. </el-table>
复制代码
重点(js 设置部分)
  1. //为表格添加事件
  2. let isScroll = true;
  3. nextTick(() => {
  4.   let div: HTMLElement | null = document.querySelector(".el-table");
  5.   console.log("div", div);
  6.   if (div) {
  7.     div.style.height = "330px";
  8.     div.addEventListener("mouseenter", function() {
  9.       isScroll = false;
  10.     });
  11.     div.addEventListener("mouseleave", function() {
  12.       isScroll = true;
  13.     });
  14.     let t = document.querySelector(".el-table__body") as HTMLElement;
  15.     if (t) {
  16.       setInterval(() => {
  17.         if (isScroll) {
  18.           var data = waitApproData.value[0];
  19.           setTimeout(() => {
  20.             waitApproData.value.push(data);
  21.             t.style.transition = "all .5s";
  22.             t.style.marginTop = "-41px";
  23.           }, 500);
  24.           setTimeout(() => {
  25.             waitApproData.value.splice(0, 1);
  26.             t.style.transition = "all 0s ease 0s";
  27.             t.style.marginTop = "0";
  28.           }, 1000);
  29.         }
  30.       }, 2500);
  31.     }
  32.   }
  33. });
复制代码
设置 margin-top 变化是为了每条数据都产生一次位移效果,模拟向上滑动效果,如果只设置一次就只会第一条数据产生位移效果
涉及到的知识点

margin 设置为负值


  • margin-left,margin-right:


  • 没设置宽度时,宽度增加
  • 有设置宽度时,产生位移效果

  • margin-top:


  • 不管是否设置高度,都不会增加高度,而是会产生向上的位移

  • margin-bottom:


  • 不会位移,高度减少,使该元素的后一个元素产生位移效果
css 属性 style.transition


  • transition 设置过渡效果
参考


来源:https://www.cnblogs.com/littleH/p/17130046.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具