• 01--顶部的通告特效---仅显示一条一条滚动


    <!-- 总结:1 data中的是一个对象  
             2 this表示的是data中的这个实例对象 
             3 在mounted中去调用函数  
             3.1 computed中去返回的是一个对象  
             4 如何将超市器变为定时器 
             
             5.textBox是包裹transition的盒子,(1)给一个固定的高度, (2)超出部分消失   (3)  100%;
    --> 
     <style>
            h2 {
                padding: 20px 0
            }
    
            .textBox {
                 100%;
                height: 40px;
                margin: 0 auto;
                overflow: hidden;
                position: relative;
                text-align: center;
            }
    
            .text {
                 100%;
                position: absolute;
                bottom: 0;
            }
              
            /*  表示入场动画的时间段  和离场动画的时间段*/
            .slide-enter-active,
            .slide-leave-active {
                transition: all 0.5s linear;
            }
           
             /* 表示还没有入场之前的时候 还没有入场之前动画是正值 */
            .slide-enter {
                transform: translateY(20px) scale(1);
                opacity: 1;
            }
    
            /* 表示离场--动画结束之后  y轴的方向是负值 */
            .slide-leave-to {
                transform: translateY(-20px) scale(0.8);
                opacity: 0;
            }
        </style>
    <body>
           <div>
            <h2>公告栏文字停顿滚动</h2>
            <div id="app">
                <div class="textBox">
                    <transition name="slide">
                        <!-- slide 是表示的自定义的前缀  item表示的是计算属性中的函数 它 返回来的是一个对象-->
                        <p class="text" :key="item.id">{{ item.val}}</p>
                    </transition>
                </div>
            </div>
        </div>
        
      
        <script>
            var vm = new Vue({
               el:"#app",
               data:{
                  textArr: [
                  '1 第一条公告',
                  '2 第二条公告第二条公告',
                  '3 第三条公告第三条公告第三条公告'
                  ],
    
                 //表示当前显示的是那一条数据呢   
                  number:0,
               },
    
                // this表示的是data这个实例对象
               computed: {
                   item(){
                       return{
                           id:this.number,                //获取到当前显示的是第几条数据
                           val:this.textArr[this.number]  //到到显示的内容
                       }
                   }
               },
     
               // 在dom熏染完了之后,就执行该函数
               mounted() {
                   this.startMove();
               },
    
                //方法函数写在methods中
                 methods: {
                     startMove(){
                         console.log("我出来了")
                          let timer=setTimeout(()=>{
                            //  如何知道现在滚动到那一条数据了呢?  
                            // 在data中定义一个id,根据id来处理。当前到底在显示那一条数据
                              if(this.number===2){
                                  this.number=0;
                              }else{
                                  this.number+=1;
                              }
                             this.startMove();  //将超时器改变为了定时器
                          },2000)
                     },
                 },
    
            });
        </script>
    
    
    </body>

  • 相关阅读:
    项目中docker swarm实践
    Spring的分模块开发的配置
    单点登录
    在服务器搭建git服务器
    Learn Git Lesson06
    kafka Poll轮询机制与消费者组的重平衡分区策略剖析
    gulp初体验
    vue-cli3中axios如何跨域请求以及axios封装
    vue-cli3中怎么配置vue.config.js文件
    svn的下载与安装,使用,包教包会!!!
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/11801981.html
Copyright © 2020-2023  润新知