Vue入門到放棄02(跑馬燈效果案例)

CSDN地址:https://blog.csdn.net/qq_38191191

Vue跑馬燈效果

1.分析

a.點擊"加油"按鈕綁定一個點擊事件,使用v-on或者縮寫:"@"
b.在按鈕的事件處理函數(shù)中杰妓,寫相關(guān)的業(yè)務(wù)邏輯代碼:拿到 msg 字符串指蚜,然后 調(diào)用 字符串的 substring 來進行字符串的截取操作幕垦,把 第一個字符截取出來未荒,放到最后一個位置即可哩罪;
c.為了實現(xiàn)點擊下按鈕呀狼,自動截取的功能,需要把 2 步驟中的代碼里烦,放到一個定時器中去孵班;

2.實現(xiàn)

2.1 綁定事件

    <input type="button" value="走你" @click="lang">
    <input type="button" value="站住" @click="stop">

  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        msg: '猥瑣發(fā)育,別浪~~招驴!',
        intervalId: null // 在data上定義 定時器Id
      },
      methods: {
        lang() {
        },
        stop() { 
        }
      }
    })
  </script>

image.gif

2.2 動態(tài)截取加定時

  <script>
    // 注意:在 VM實例中,如果想要獲取 data 上的數(shù)據(jù)枷畏,或者 想要調(diào)用 methods 中的 方法别厘,必須通過 this.數(shù)據(jù)屬性名  或  this.方法名 來進行訪問,這里的this拥诡,就表示 我們 new 出來的  VM 實例對象
    var vm = new Vue({
      el: '#app',
      data: {
        msg: '猥瑣發(fā)育触趴,別浪~~!',
        intervalId: null // 在data上定義 定時器Id
      },
      methods: {
        lang() {
          // console.log(this.msg)
          // 獲取到頭的第一個字符
          // this
          if (this.intervalId != null) return;
          this.intervalId = setInterval(() => {
            var start = this.msg.substring(0, 1)
            // 獲取到 后面的所有字符
            var end = this.msg.substring(1)
            // 重新拼接得到新的字符串渴肉,并賦值給 this.msg
            this.msg = end + start
          }, 400)
          // 注意: VM實例冗懦,會監(jiān)聽自己身上 data 中所有數(shù)據(jù)的改變,只要數(shù)據(jù)一發(fā)生變化仇祭,就會自動把 最新的數(shù)據(jù)披蕉,從data 上同步到頁面中去;【好處:程序員只需要關(guān)心數(shù)據(jù)乌奇,不需要考慮如何重新渲染DOM頁面】
        },
      }
    })  
  </script>
image.gif

2.3 取消定時器

stop() { // 停止定時器
          clearInterval(this.intervalId)
          // 每當清除了定時器之后没讲,需要重新把 intervalId 置為 null
          this.intervalId = null;
        }
image.gif

代碼示例:

<body>
  <!-- 2\. 創(chuàng)建一個要控制的區(qū)域 -->
  <div id="app">
    <input type="button" value="浪起來" @click="lang">
    <input type="button" value="低調(diào)" @click="stop">
    <h4>{{ msg }}</h4>
  </div>
  <script>
    // 注意:在 VM實例中,如果想要獲取 data 上的數(shù)據(jù)礁苗,或者 想要調(diào)用 methods 中的 方法爬凑,必須通過 this.數(shù)據(jù)屬性名  或  this.方法名 來進行訪問,這里的this试伙,就表示 我們 new 出來的  VM 實例對象
    var vm = new Vue({
      el: '#app',
      data: {
        msg: '猥瑣發(fā)育嘁信,別浪~~于样!',
        intervalId: null // 在data上定義 定時器Id
      },
      methods: {
        lang() {
          // console.log(this.msg)
          // 獲取到頭的第一個字符
          // this
          if (this.intervalId != null) return;
          this.intervalId = setInterval(() => {
            var start = this.msg.substring(0, 1)
            // 獲取到 后面的所有字符
            var end = this.msg.substring(1)
            // 重新拼接得到新的字符串,并賦值給 this.msg
            this.msg = end + start
          }, 400)
          // 注意: VM實例潘靖,會監(jiān)聽自己身上 data 中所有數(shù)據(jù)的改變穿剖,只要數(shù)據(jù)一發(fā)生變化,就會自動把 最新的數(shù)據(jù)秘豹,從data 上同步到頁面中去携御;【好處:程序員只需要關(guān)心數(shù)據(jù),不需要考慮如何重新渲染DOM頁面】
        },
        stop() { // 停止定時器
          clearInterval(this.intervalId)
          // 每當清除了定時器之后既绕,需要重新把 intervalId 置為 null
          this.intervalId = null;
        }
      }
    })

    // 分析:
    // 1\. 給 【浪起來】 按鈕啄刹,綁定一個點擊事件   v-on   @
    // 2\. 在按鈕的事件處理函數(shù)中,寫相關(guān)的業(yè)務(wù)邏輯代碼:拿到 msg 字符串凄贩,然后 調(diào)用 字符串的 substring 來進行字符串的截取操作誓军,把 第一個字符截取出來,放到最后一個位置即可疲扎;
    // 3\. 為了實現(xiàn)點擊下按鈕昵时,自動截取的功能,需要把 2 步驟中的代碼椒丧,放到一個定時器中去壹甥;
  </script>
</body>
image.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市壶熏,隨后出現(xiàn)的幾起案子句柠,更是在濱河造成了極大的恐慌,老刑警劉巖棒假,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件溯职,死亡現(xiàn)場離奇詭異,居然都是意外死亡帽哑,警方通過查閱死者的電腦和手機谜酒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妻枕,“玉大人僻族,你說我怎么就攤上這事〖淹罚” “怎么了鹰贵?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長康嘉。 經(jīng)常有香客問我碉输,道長,這世上最難降的妖魔是什么亭珍? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任敷钾,我火速辦了婚禮枝哄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阻荒。我一直安慰自己挠锥,他們只是感情好,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布侨赡。 她就那樣靜靜地躺著蓖租,像睡著了一般。 火紅的嫁衣襯著肌膚如雪羊壹。 梳的紋絲不亂的頭發(fā)上蓖宦,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音油猫,去河邊找鬼稠茂。 笑死,一個胖子當著我的面吹牛情妖,可吹牛的內(nèi)容都是我干的睬关。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼毡证,長吁一口氣:“原來是場噩夢啊……” “哼电爹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起料睛,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤藐不,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后秦效,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡涎嚼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年阱州,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片法梯。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡苔货,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出立哑,到底是詐尸還是另有隱情夜惭,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布铛绰,位于F島的核電站诈茧,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捂掰。R本人自食惡果不足惜敢会,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一曾沈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鸥昏,春花似錦塞俱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至膳汪,卻和暖如春唯蝶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背旅敷。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工生棍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人媳谁。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓涂滴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晴音。 傳聞我的和親對象是個殘疾皇子柔纵,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350