Vue实现列表跑马灯效果

本文实例为大家分享了Vue实现列表跑马灯效果的具体代码,供大家参考,具体内容如下

Vue文件中:

<ul class="GZDT_list clearfix active" @mouseover="stopScroll" @mouseout="startScroll">
    <li v-for ="item in gzdtList" >
        <a :href="item.url" rel="external nofollow"  target="_blank" :title="item.title" >
            <span class="GZDTtitle">
                {{item.title | ellipsis}}
            </span>
        </a>
        <span class="right date">{{item.date}}</span>
    </li>
</ul>

js:

<script>
    export default{
    data:function(){
        return {
            timeId:null,
            // 跑马灯
            animate:false,
        };
    },
    filters: {},
    methods:{
        // 跑马灯
        scroll(){
            this.animate =true;// 因为在消息向上滚动的时候需要添加css3过渡动画,所以这里需要设置true
            setTimeout(()=>{    //  这里直接使用了es6的箭头函数,省去了处理this指向偏移问题,代码也比之前简化了很多
                this.TZGGList.push(this.TZGGList[0]); // 将数组的第一个元素添加到数组的
                this.TZGGList.shift(); //删除数组的第一个元素
                this.animate = false // margin-top 为0 的时候取消过渡动画,实现无缝滚动
              }, 1000)
        },
        
        //鼠标悬停,停止滚动
        stopScroll () {
            var target = this.$refs.con1;
            clearInterval(this.timeId)
        },
        
        //鼠标移开 ,接着滚动
        startScroll () {
            var target = this.$refs.con1;
            this.timeId = setInterval(this.scroll,1500);  // 设置滑动速度
        },
    },
    mounted: function() {
        this.init();
        this.timeId=setInterval(this.scroll,1500);
    },
}
</script>

css:

/*跑马灯*/
<style>
    #box{
        height: 238px;
        overflow: hidden;
        border: 1px solid #ffffff;
        margin-top: 0px;
    } 
    .anim{
        transition: all 2s;
    }
    
    #con1 li{
        list-style: none;
        line-height: 35px;
        height: 35px;
    }
</style>

运行过程中发现走马灯title可以滚动改变但是对应的span标签的内容不变,可能是因为浏览器版本过高,可更换浏览器或降低浏览器版本试试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Vue 使用计时器实现跑马灯效果的实例代码

    Vue 使用计时器实现跑马灯效果,代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="

  • Vue实现跑马灯效果

    本文实例为大家分享了Vue实现跑马灯效果的具体代码,供大家参考,具体内容如下 实现的业务逻辑 1.给[嗨起来]按钮,绑定一个点击事件 v-on(@). 2.在按钮的事件函数处理中,写相关的业务逻辑:拿到msg的字符串,后调用字符串中的substring来进行字符串的截取操作,放到最后一个位置. 3.为了实现点击下按钮,自动截取功能,需要将步骤2中代码放到一个定时器中. 实现代码如下: <!DOCTYPE html> <html lang="en"> <he

  • Vue3实现跑马灯效果

    本文实例为大家分享了Vue3实现跑马灯效果的具体代码,供大家参考,具体内容如下 先看效果: html部分代码 <div class="app">             <p :class="{tabcolor:color}">{{str}}</p>             <button @click="play">开始</button>             <button

  • vue实现可以快进后退的跑马灯组件

    本文实例为大家分享了vue开发实现跑马灯效果组件的具体代码,供大家参考,具体内容如下 用vue编写一个可以快进后退的跑马灯组件 由于业务需求,要实现一个会可以控制速度的跑马灯,初开始用js的setinterval每隔几毫秒来减取一个字符拼接到后面,效果不理想就放弃了.后查询用js的animate这个api改造大功告成! 效果图 组件代码 <template>   <div class="marquee" @mouseover="pause(true)&quo

  • Vue实现跑马灯简单效果

    本文实例为大家分享了Vue实现跑马灯简单效果的具体代码,供大家参考,具体内容如下 1.跑马灯效果 说明:单击"应援"按钮文字向左飘动,再单击"暂停"按钮停止当前飘动 2.完整代码 (注意:代码中需要引入vue.js文件,这个文件自己根据目录位置引入,具体位置代码中有注释) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q

  • vue实现简单跑马灯效果

    本文实例为大家分享了vue实现简单跑马灯效果的具体代码,供大家参考,具体内容如下 如下图片,会自行向 上"滚动" 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>跑马灯 </title> <script src="https://cdn.bootcss.com/

  • Vue实现简单的跑马灯

    Vue实现滚动字条/跑马灯,供大家参考,具体内容如下 内容不多,直接看代码吧 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="../../资料/js/vue.js"></script> <!-- 引入V

  • vue+animation动画实现跑马灯效果

    本文实例为大家分享了vue+animation动画实现跑马灯效果的具体代码,供大家参考,具体内容如下 1.单行显示,每行只显示一条 效果图 上代码 <template>   <div class="container">     <div class="box">       <!-- 假设lists列表有4个项,设置ul的宽度为800%(相对于box),设置li的宽度为12.5%(相对于ul是12.5%:相对于box是10

  • Vue实现跑马灯样式文字横向滚动

    本文实例为大家分享了Vue实现跑马灯样式文字横向滚动的具体代码,供大家参考,具体内容如下 需求: 在Vue项目的顶部,来实现文字左右滚动 步骤: 1.可以自己封装一个组件,也可以自己写,也可以复制以下代码 2.封装完成以后要在所需的组件中引入,注册,并使用 代码: 封装一个专门用来实现跑马灯效果的组件marquee组件 <template> <!-- 跑马灯组件 --> <div class="marquee-wrap" ref="marquee

  • vue实现简单的跑马灯效果

    本文实例为大家分享了vue实现简单跑马灯效果的具体代码,供大家参考,具体内容如下 效果图 代码 html <div id="app"> <button @click="start">开启</button> <button @click="stop">停止</button> <p>{{msg}}</p> </div> vue var app = new

随机推荐