好用的滚动方法,列表滚动

上下滚动

// javascript原生自动滚动
export default function startmarquee(lh, speed, delay, marqueeObj) { // lh---每行列表的高度,speed---滚动的速度,delay---间隔多久滚动一次,marqueeObj---需要实现这个效果的id
    var p = false;
    var t;
    var o = document.getElementById(marqueeObj);
    o.innerHTML += o.innerHTML;
    o.style.marginTop = 0;
    o.onmouseover = function() { p = true; }; // 鼠标移入,停止滚动
    o.onmouseout = function() { p = false; };// 鼠标移出,继续滚动

    function start() {
        t = setInterval(scrolling, speed); // 定时器,自动滚动
        if (!p) o.style.marginTop = parseInt(o.style.marginTop) - 1 + 'px';
    }

    function scrolling() {
        if (parseInt(o.style.marginTop) % lh != 0) {
            o.style.marginTop = parseInt(o.style.marginTop) - 1 + 'px';
            if (Math.abs(parseInt(o.style.marginTop)) >= o.scrollHeight / 2) o.style.marginTop = 0;
        } else {
            clearInterval(t);
            setTimeout(start, delay);
        }
    }
    setTimeout(start, delay);
};

使用方法:

<div class="scrollDiv">
   <div class="data-source" id="data-source">
     <div class="data-e" v-for="(item, i) in tableData" :key="i">
       <div class="c-e">
         {{ item['indicatorDirection'] }}
       </div>
       <div class="c-e">
         {{ item['street'] }}
       </div>
       <div class="c-e">
         {{ item['indicatorName'] }}
       </div>
       <div class="c-e" :style="item['eventStatus']=='执行中'&&{'color':'#7AFFA2'}">
         {{ item['eventStatus'] }}
       </div>
     </div>
   </div>
 </div>
.scrollDiv{
  height: 190px;
  overflow: auto;
  &::-webkit-scrollbar {
    display:none
  }
}
import scrollMethod from '@/utils/scroll';
this.$nextTick(() => {
  if (this.tableData.length > 5) {
    scrollMethod(38, 20, 1000, 'data-source');
  }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值