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:'#app',
        data(){
            return{
                animate:false,
        scroll_lists:[
            {time:'2秒钟前',company:'海康威视(002415)'},  
            {time:'8秒钟前',company:'烽火通信(600498)'}, 
            {time:'3分钟前',company:'恒逸石化(000703)'},  
            {time:'5分钟前',company:'紫光国微(002049)'},
            {time:'39分钟前',company:'新天科技(300259)'},
            {time:'1小时前',company:'兴业银行(601166)'},
            {time:'3小时前',company:'中国核建(601611)'}
        ],
    };
    },
 //created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。

//mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。

    created(){
        setInterval(this.scroll,2000)
    },
    methods:{
        // 根据字典生成随机序列
     randomCode:function (len,dict) {
 
    for (var i = 0,rs = ''; 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,'3458'),'****',this.$options.methods.randomCode(4,'0123456789')].join(''); }, 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>

 

转载于:https://www.cnblogs.com/cheryshi/p/10998161.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值