• js 消息滚动


    /*
    * @Descripttion: 导入——利用file-saver实现
    * @Author: zhou1333
    * @Date: 2021
    */
    <template>
      <div>
        <div class="content">
          <ul id="con1" ref="con1" :class="{anim:animate==true}" style="margin:0">
            <li v-for='(item,index) in items' :key="index">{{item.name}}</li>
          </ul>
        </div>
      </div>
    
    </template>
    
    <script>
    export default {
      data() {
        return {
          animate: false,
          items: [
            {name: "今天天气怎么样"},
            {name: "今天天气不好"},
            {name: "哇塞多撒打算放"},
            {name: "阿发送方三房"},
            {name: "阿萨发顺丰都是地方"},
          ]
        };
      },
        created(){
          setInterval(this.scroll, 2000)
        },
        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)
          }
        }
    
    }
    </script>
    <style scoped/*
    * @Descripttion: 导入——利用file-saver实现
    * @Author: zhou1333
    * @Date: 2021
    */
    <template>
      <div>
        <div class="content">
          <ul id="con1" ref="con1" :class="{anim:animate==true}" style="margin:0">
            <li v-for='(item,index) in items' :key="index">{{item.name}}</li>
          </ul>
        </div>
      </div>
    
    </template>
    
    <script>
    export default {
      data() {
        return {
          animate: false,
          items: [
            {name: "今天天气怎么样"},
            {name: "今天天气不好"},
            {name: "哇塞多撒打算放"},
            {name: "阿发送方三房"},
            {name: "阿萨发顺丰都是地方"},
          ]
        };
      },
        created(){
          setInterval(this.scroll, 2000)
        },
        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)
          }
        }
    
    }
    </script>
    <style scoped>
      #box{
       300px;
      height: 32px;
      overflow: hidden;
      padding-left: 30px;
      border: 1px solid black;
    }
      .anim{
      transition: all 0.5s;
    }
      #con1 li{
      list-style: none;
      line-height: 30px;
      height: 30px;
    }
    </style>
    >
      #box{
       300px;
      height: 32px;
      overflow: hidden;
      padding-left: 30px;
      border: 1px solid black;
    }
      .anim{
      transition: all 0.5s;
    }
      #con1 li{
      list-style: none;
      line-height: 30px;
      height: 30px;
    }
    </style>
  • 相关阅读:
    Placing Rooks-CF 1342E
    Yet Another Counting Problem-CF 1342C
    [SDOI2016]齿轮
    Rinne Loves Xor
    Labyrinth CodeForces
    Nastya and Scoreboard
    Teacher Bo HDU
    Blood Cousins Return
    D Tree HDU
    设计模式学习笔记(八、行为型-策略模式)
  • 原文地址:https://www.cnblogs.com/javascript9527/p/16167654.html
Copyright © 2020-2023  润新知