zoukankan      html  css  js  c++  java
  • vue实现消息的无缝滚动效果

    export default {
    data() {
      return {
          animate:false,
          items:[
              {name:"马云"},
              {name:"雷军"},
              {name:"王勤"}
          ]
      }
    },
    created(){
        setInterval(this.scroll,1000)
    },
    methods: {
        scroll(){
           this.animate=true;    // 因为在消息向上滚动的时候需要添加css3过渡动画,所以这里需要设置true
           setTimeout(()=>{      //  这里直接使用了es6的箭头函数,省去了处理this指向偏移问题,代码也比之前简化了很多
                   this.items.push(this.items[0]);  // 将数组的第一个元素添加到数组的
                   this.items.shift();               //删除数组的第一个元素
                   this.animate=false;  // margin-top 为0 的时候取消过渡动画,实现无缝滚动
           },500)
        }
    }
    #box{
        width: 300px;
        height: 32px;
        overflow: hidden;
        padding-left: 30px;
        border: 1px solid black;
    }
    .anim{
        transition: all 0.5s;
        margin-top: -30px;
    }
    #con1 li{
        list-style: none;
        line-height: 30px;
        height: 30px;
    }
    <div id="box">
                <ul id="con1" ref="con1" :class="{anim:animate==true}">
                    <li v-for='item in items'>{{item.name}}</li>
                </ul>
            </div>
  • 相关阅读:
    Celery
    mysql 8.0.12 创建并授权出现的问题
    request对象
    Haystack搜索框架
    Django的缓存机制
    跨域问题
    解析器
    url控制器与响应器
    学期总结
    C语言I博客作业09
  • 原文地址:https://www.cnblogs.com/gavin1024/p/10160109.html
Copyright © 2011-2022 走看看