首页 > 其他分享 >vue中实现文字向上滚动效果

vue中实现文字向上滚动效果

时间:2024-08-07 16:39:31浏览次数:8  
标签:文字 2024.05 12 滚动 vname 大剑师 vue pvname vtime

<template>
    <div class="djs-box">
        <div class="topBox">
            <h3>vue实现文字向上滚动效果</h3>
            <div>大剑师兰特, 还是大剑师兰特,gis-dajianshi</div>
        </div>
        <div class="dajianshi">
              <li v-for="item in list" ref="rollul" :class="{anim:animate==true}"> 
                   {{item.vname}} - {{item.vtime}} - {{item.pvname}} 
             </li> 
        </div>
    </div>
</template>

<script>
    export default {
        data() {
            return {
                time:[],
                  animate: true, 
                  list: [ 
                    { "vname": "大剑师1", "pvname": "PIC-----1", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师2", "pvname": "PIC-----2", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师3", "pvname": "PIC-----3", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师4", "pvname": "PIC-----4", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师5", "pvname": "PIC-----5", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师6", "pvname": "PIC-----6", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师7", "pvname": "PIC-----7", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师8", "pvname": "PIC-----8", "vtime": "2024.05.12 11:12:23" }, 
                    { "vname": "大剑师9", "pvname": "PIC-----9", "vtime": "2024.05.12 11:12:23" }, 
                  ] 
            }
        },
        mounted() {
           const timer = setInterval(this.goscroll,1000);
           // 通过$once来监听定时器,在beforeDestroy钩子可以被清除。  
             this.$once('hook:beforeDestroy', () => {     
             clearInterval(timer);})
        },
        methods: {
          goscroll() { 
            let con1 = this.$refs.rollul; 
            con1[0].style.marginTop = '30px'; 
            this.animate = !this.animate; 
            var that = this; // 在异步函数中会出现this的偏移问题,此处一定要先保存好this的指向 
            setTimeout(function() { 
              that.list.push(that.list[0]); 
              that.list.shift(); 
              con1[0].style.marginTop = '0px'; 
              that.animate = !that.animate; // 这个地方如果不把animate 取反会出现消息回滚的现象,此时把ul 元素的过渡属性取消掉就可以完美实现无缝滚动的效果了 
            }, 0) 
          } 
        } 

    }
</script>
<style scoped>
    .djs-box {
        width: 1000px;
        height: 650px;
        margin: 50px auto;
        border: 1px solid black;
    }

    .topBox {
        margin: 0 auto 0px;
        padding: 10px 0 20px;
        background: black;
        color: #fff;
    }

    .dajianshi {
        width: 98%;
        margin: 0 auto;
        height: 520px;
        padding-top:150px;
        background-color: cde;
        position: relative;
    }

    .dajianshi li {height: 30px; line-height: 30px; font-size: 20px; list-style: none; } 
    .anim {transition: all 0.5s; } 
</style>

标签:文字,2024.05,12,滚动,vname,大剑师,vue,pvname,vtime
From: https://www.cnblogs.com/j-a-h/p/18347357

相关文章

  • jeecg-vue3, BasicTable与抽屉useDrawer()的简单使用
    需求:分屏情况下,根据传入参数不同查看申请材料1.实现效果点击申请材料弹出,点击取消或点击空白处,抽屉消失2.代码实现2.1files.vue实现<template><divclass="container"><a-button@click="click('sqcl')"style="margin-left:5px;">申请材料</a-b......
  • js文字无限循环向上滚动轮播
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><linkrel="stylesheet">......
  • 基于springboot+vue开发的垃圾分类识别系统
    背景随着社会的快速发展,计算机的影响是全面且深入的。日常生活中,“垃圾”无处不在,家庭公寓里的垃圾桶、街头巷尾的垃圾箱、城市郊区的垃圾场、校园的垃圾站点等等,你也常常会发现,垃圾处理时通常有着多种分类,随着垃圾分类的普及,用户的数量和管理员的工作量在不断增加,工作也更......
  • uniapp Vue3版本使用jweixin-module报错
    把uniapp从Vue2版本选择到Vue3版本编译开发  改用到Vue3使用:varjweixin=require('jweixin-module')会编译报错:requireisnotdefined,没有require模块.改成import的话,由于jweixin-module不支持export写法,所以引入也不能成功1import *asjweixinfr......
  • 基于django+vue的小说阅读系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,数字阅读已成为人们获取信息与娱乐的重要方式之一。小说作为文学的重要分支,拥有庞大的读者群体。然而,传统的小说......
  • 基于django+vue的小区物业管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速,住宅小区作为城市居民生活的重要载体,其管理与服务水平直接影响到居民的生活质量和幸福感。传统的物业管理方式往往依......
  • VUE基础
    一,监听器watch用于监听数据的变化并执行相应的操作,通过watch选项,您可以监视一个特定的数据属性,并在该属性发生变化时执行一些逻辑点击查看代码<template><div><p>Count:{{count}}</p><button@click="increment">Increment</button></div></templ......
  • vue|el-table表格添加一行删除一行并且验证必填
    我们在工作中,难免会遇到一些特殊的场景。比如动态表格的实现,主要的实现就是可以增加删除列,并且需要对数据进行验证。如何在vue中使用el-table添加一行删除一行并且验证必填呢?请看VCR下面是代码示例:<template><divstyle="display:flex;justify-content:center;ali......
  • 图像文字报表
    概述图像文字报表:报表中混合显示文字与图像,实现图像与文字的混合排列。应用场景如下图所示,简单展示数据示例说明数据准备在数据面板中添加数据集,可选择Json数据集和API服务数据集。Json数据集输入如下图所示:[{"图像":"https://img0.baidu.com/it/u=3609521783,32494......
  • 基于java+springboot+vue的人事管理系统
    ......