Vue实现跑马灯的效果

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>跑马灯</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
    <div id="app">
    <h4>{{ msg }}</h4>
    <input type="button" value="启动" @click="start">
    <input type="button" value="启动1" @click="start1">
    <input type="button" value="停止" @click="stop">
    </div>

<script>
    new Vue({
        el: '#app',
        data: {
        msg:"猥琐发育,别浪~~~~",
        intervalId:null //定义定时器ID
        },
    methods: {
        start:function(){
            //substring来进行字符串截取,把第一个字符截取出来,放到最后一个位置即可
            //为了实现点击下按钮,自动截取字符串。在截取代码放在定时器里面
            var _this = this;
            if(_this.intervalId == null){
            _this.intervalId = setInterval(function(){
                //获取到头的第一个字符
                var start = _this.msg.substring(0,1);
                //获取到 后面的所有字符
                var end = _this.msg.substring(1);
                //重新拼接新的字符串
                _this.msg = end + start;
                }
            ,400);
            }
        },
        start1:function(){
            //箭头函数外面和里面的this保持一致
            this.intervalId = setInterval(() => {
                //获取到头的第一个字符
                var start = this.msg.substring(0,1);
                //获取到 后面的所有字符
                var end = this.msg.substring(1);
                //重新拼接新的字符串
                this.msg = end + start;
                }
            ,400);
        },
        stop(){
            clearInterval(this.intervalId) 
            this.intervalId = null;
            }
        }
    })
</script>
</body>
</html>

 

posted @ 2018-12-04 16:01  PHPer100  阅读(517)  评论(0编辑  收藏  举报