跑马灯效果的实现

1:给【浪起来】按钮绑定一个点击事件
2:在按钮的事件处理函数中,写相关的业务逻辑代码
a:拿到要滚动的字符串
b:调用字符串substring方法来进行字符串的截取操作。(把第一个字符截取出来,放到最后一个位置即可)
c:为了实现点击一个按钮自动截取的功能,需要把2步骤放入一个定时器中

1:原生js的实现

var btn1=document.querySelector("#btn1");
        var btn2=document.querySelector("#btn2");
        var captions=document.getElementById('captions');
        var time=null;
         btn1.onclick=function(){
            if(time!=null) return;
            time=setInterval(function(){
                var text=document.getElementById('captions').innerHTML; 
                var start=text.substring(0,1);
                var end=text.substring(1);
                captions.innerHTML=end+start;
            },400)
         }
         btn2.onclick=function(){
            clearInterval(time);
            time=null;
         }

2:Vue实现

<div id="app">
       <input type="button" value="浪起来" @click="lang">
       <input type="button" value="低调" @click="stop">
       <h4>{{msg}}</h4>
    </div>

    <script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
    <script>
    //注意:在vm实例中,如果想要调用 data上的数据,或者想要调用methods中的方法,
    //必须通过this.数据属性名  或this.方法名 来进行访问,
    //这里的this,就表示我们new出来的vm实例对象
    //
    //
    //vm实例,会监听自己身上 data 中所有数据的改变,只要数据一发生变化,
    //就会自动把 最新的数据 从data上同步到页面中去
    //好处:程序员只需要关心数据,不需要考虑如何重新渲染DOM
        var vm=new Vue({
            el:'#app',

            data:{
                msg:'猥琐发育别浪~~',
                intervalId:null//data上定义 定时器Id
            },

            methods:{
                //lang:function(){}
                lang(){
                    if(this.intervalId !=null) return;
                    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)
                    //每当清楚了定时器之后,需要从新把intervalId 置为 null
                    this.intervalId=null;
                }
            }
        })
    </script>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文实现的是跑马灯的效果,它在开发中经常被用到。本文支持从左边或者右边开始跑马灯效果。 本文的实现很简单,利用工作...
    飞翔fly阅读 5,150评论 2 5
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 4,895评论 0 1
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,381评论 1 45
  • 案例篇: Vue 之跑马灯效果 需求分析篇:1、点击按钮,msg中的文字开始走动,涉及到字符串的操作。因此需要绑定...
    不喜欢甜的土豆阅读 11,461评论 0 0
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,719评论 0 21

友情链接更多精彩内容