VueJS和Javascript實現文字上下滾動效果

一提到文字上下滾動,咱們就會想到用不一樣的程序去實現,並且頁面中有文字滾動會增長這個網頁的互動和可信度。css

1.Js最簡單的方法是控制盒子的高度,使不斷的重複添加
html

<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>

數據結構設計:app

<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節點進行一些須要的操做。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>
相關文章
相關標籤/搜索