首页 >web前端 >Vue.js >vuejs怎么实现文字滚动

vuejs怎么实现文字滚动

藏色散人
藏色散人原创
2021-11-01 14:11:102874浏览

vuejs实现文字滚动的方法:1、创建好前端代码文件;2、通过js代码来控制盒子的高度,并使其不断的重复添加即可。

vuejs怎么实现文字滚动

本文操作环境:windows7系统、vue2.9.6版,DELL G3电脑。

vuejs怎么实现文字滚动?

VueJS和Javascript实现文字上下滚动效果:

一提到文字上下滚动,我们就会想到用不同的程序去实现,而且页面中有文字滚动会增加这个网页的互动和可信度。

1.Js最简单的方法是控制盒子的高度,使不断的重复添加

<html>
<body>
<head>
/**scroll css**/
#scrolldiv{height: 400px;overflow: hidden;}
</head>
<div id="scrolldiv"  class="scroll">
                    <ul id="scroll1">
                        <li>用户130****0834   刚刚  砸中<span class="yellow">500元京东卡</span> 正在兑换中</li>
                        <li>用户176****2746   刚刚  砸中<span class="yellow">1000美元赠金</span> 正在兑换中</li>
                        <li>用户132****7754   刚刚  砸中<span class="yellow">500元京东卡</span> 正在兑换中</li>
                        <li>用户181****4518 1分钟前 砸中<span class="yellow">U盘+高级笔+充电宝</span> 正在兑换中</li>
                        <li>用户185****5483 1分钟前 砸中<span class="yellow">品牌热销保温杯</span> 正在兑换中</li>
                        <li>用户158****7375 2分钟前 砸中<span class="yellow">外汇交易书+高级伞+手机支架+海马刀</span> 正在兑换中</li>
                        <li>用户130****6766 3分钟前 砸中<span class="yellow">1000美元赠金</span> 已成功兑换</li>
                        <li>用户170****2437 5分钟前 砸中<span class="yellow">U盘+高级笔+充电宝</span> 已成功兑换</li>
                        <li>用户156****2475 5分钟前 砸中<span class="yellow">品牌热销保温杯</span> 已成功兑换</li>
                        <li>用户189****1698 7分钟前 砸中<span class="yellow">500元京东卡</span> 已成功兑换</li>
                        <li>用户132****1754 8分钟前 砸中<span class="yellow">1000美元赠金</span> 已成功兑换</li>
                        <li>用户177****2154 9分钟前 砸中<span class="yellow">外汇交易书+高级伞+手机支架+海马刀</span> 已成功兑换</li>
                    </ul>
                    <ul id="scroll2"></ul>
                </div>
<script>
    /**word scroll css**/
        window.onload = roll(40);

        function roll(t) {
            var scroll1 = document.getElementById("scroll1");
            var scroll2= document.getElementById("scroll2");
            var scrolldiv = document.getElementById("scrolldiv");//把内容重复复制,达到滚动不间断的效果
            scroll2.innerHTML = scroll1.innerHTML;
            scrolldiv.scrollTop = 0;
         setInterval(rollStart, t);
        }

        function rollStart() {
            if (scrolldiv.scrollTop >= scroll1.scrollHeight) {
                scrolldiv.scrollTop = 0;
            } else {
                scrolldiv.scrollTop++;
            }
        }
</script>
</body>
</html>

2.Vuejs实现文字上线滚动

前端代码呈现:

<div class="scroll">
                    <ul id="scrollDiv"  ref="rollul" :class="{anim:animate==true}">
                        <li v-for="item in scroll_lists"><span>{{item.time}}</span><span class="s-2">{{randomPhoneNumber()}}用户诊断了</span><span>{{item.company}}</span></li>
                    </ul>
                </div>

数据结构设计:

<script>
new Vue({
        el:&#39;#app&#39;,
        data(){
            return{
                animate:false,
        scroll_lists:[
            {time:&#39;2秒钟前&#39;,company:&#39;海康威视(002415)&#39;},  
            {time:&#39;8秒钟前&#39;,company:&#39;烽火通信(600498)&#39;}, 
            {time:&#39;3分钟前&#39;,company:&#39;恒逸石化(000703)&#39;},  
            {time:&#39;5分钟前&#39;,company:&#39;紫光国微(002049)&#39;},
            {time:&#39;39分钟前&#39;,company:&#39;新天科技(300259)&#39;},
            {time:&#39;1小时前&#39;,company:&#39;兴业银行(601166)&#39;},
            {time:&#39;3小时前&#39;,company:&#39;中国核建(601611)&#39;}
        ],
    };
    },
 //created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
//mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
    created(){
        setInterval(this.scroll,2000)
    },
    methods:{
        // 根据字典生成随机序列
     randomCode:function (len,dict) {
 
    for (var i = 0,rs = &#39;&#39;; i < len; i++)
        rs += dict.charAt(Math.floor(Math.random() * 100000000) % dict.length);
 
    return rs;
 
},
 
// 生成随机手机号码
randomPhoneNumber:function(){
     
   // 第1位是1 第2,3位是3458 第4-7位是* 最后四位随机 this.$options.methods使用上一个函数的返回值
 return [1,this.$options.methods.randomCode(2,&#39;3458&#39;),&#39;****&#39;,this.$options.methods.randomCode(4,&#39;0123456789&#39;)].join(&#39;&#39;); }, scroll(){ this.animate = true         var that = this;       setTimeout(function(){              that.scroll_lists.push(that.scroll_lists[0]);             that.scroll_lists.shift();             that.animate=false; },1500) } } }) </script>

推荐:《最新的5个vue.js视频教程精选

以上是vuejs怎么实现文字滚动的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn