vue笔记-跑马灯效果(二)

效果图.png

示例源码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        
    </head>
    <body>
        <div id="app">
            <p>{{message}}</p>
            
            
            <button type="button" :title="titleContent + '12345'" @click="lang">滚动</button>
            <button type="button" :title="titleContent + '12345'" @click="lang2">ES6滚动</button>
                        
            <input type="button" value="停止" v-on:click="stop"/>
            
        </div>
        
        <script type="text/javascript" src="./lib/vue-2.6.10.js"></script>
        <script>
            var vm = new Vue({
                el: '#app',
                data:{
                    message: '猥琐发育,别浪!稳住我们能赢。',
                    titleContent: '绑定属性的指令',
                    setIntervalId: null
                    
                },
                methods:{
                    lang(){
                        //console.log(this.message);
                        var _this = this;
                        this.setIntervalId = setInterval(function(){
                            var start = _this.message.substring(0,1);
                            var end = _this.message.substring(1);
                            _this.message = end + start;
                            console.log(_this.message);
                        }, 500)
                        
                    },
                    lang2(){
                        //console.log(this.message);
                        //var _this = this;
                        // =>箭头函数 保持this对象的一致
                        
                        if(this.setIntervalId != null){
                            return;
                        }
                        
                        this.setIntervalId = setInterval(() => {
                            var start = this.message.substring(0,1);
                            var end = this.message.substring(1);
                            this.message = end + start;
                            console.log(this.message);
                        }, 500)
                        
                    },
                    stop: function(){
                        clearInterval(this.setIntervalId);
                        this.setIntervalId = null;
                    }
                }
            })
        </script>
    </body>
    
    
</html>


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容