【Vue笔记】使用Vue实现跑马灯效果

实现思路

将div中文本读取,再设置一个定时器,每次将头部首位字符放置到最后。

源码

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" type="text/css" href="http://unpkg.com/iview/dist/styles/iview.css">
    <script type="text/javascript" src="http://vuejs.org/js/vue.min.js"></script>
    <script type="text/javascript" src="http://unpkg.com/iview/dist/iview.min.js"></script>
    <meta charset="UTF-8">
    <title>test</title>
    <style>
        [v-cloak]{
            display: none;
        }
    </style>
</head>
<body>
<div id="app">
    <input type="button" value="浪起来" @click="lang">
    <input type="button" value="低调" @click="stop">
    <h4>{{msg}}</h4>
</div>
<script>
    var vm = new Vue({
        el: '#app'
        ,data:{
            msg :'猥琐发育,别浪~~'  //设置内容
            ,intervalID :null       //初始化计时器ID
        }
        ,methods:{
            lang(){
                // var _this = this
                if (this.intervalID == null){   //若保存的计时器ID为空
                        this.intervalID = setInterval(() => {   //设置寄存器,保存ID
                        var start = this.msg.substring(0,1)
                        var end = this.msg.substring(1)
                        this.msg=end+start
                    }, 400);        //400ms延时
                }

            },
            stop(){
                clearInterval(this.intervalID)  //清空计时器
                this.intervalID = null          //ID置空
            }
        }
    })
</script>
</body>
</html>
Advertisements

容我提两嘴

可惜中文支持不好,留下你的姓名邮箱之后走吧,网站和Email都不会显示,广告党们不用想了,必须审核才能通过显示的。

Advertisements