Js和VUE實(shí)現(xiàn)跑馬燈效果
本文實(shí)例為大家分享了Js和VUE分別實(shí)現(xiàn)跑馬燈效果的具體代碼,供大家參考,具體內(nèi)容如下
一、js實(shí)現(xiàn)跑馬燈
1.效果圖
視頻上傳不了,只能看圖片了
2. 設(shè)計(jì)思路
使用截取字符串的方法,首先獲取文本的值,再分別截取文本的第一個字符串和剩余的字符串,然后重新拼接一個新的字符串,最后把這個新字符串賦值給文本,代碼如下:
var value=cont.innerHTML; var start=value.substring(0,1);//截取第一個字符串 var end=value.substring(1);//截取剩余的字符串 var result=end+start;//拼接一個新的字符串 cont.innerHTML=result;//把新字符串賦值給p標(biāo)簽
使用計(jì)時器setInterval( )方法來設(shè)置時間重復(fù)執(zhí)行
t=setInterval(function(){ var value=cont.innerHTML; var start=value.substring(0,1);//截取第一個字符串 var end=value.substring(1);//截取剩余的字符串 var result=end+start;//拼接一個新的字符串 cont.innerHTML=result;//把新字符串賦值給p標(biāo)簽 },500);
setInterval( )返回一個整數(shù)類型的數(shù),然后把這個數(shù)賦值給clearInterval( )讓計(jì)時器停止
clearInterval(t);
然后點(diǎn)擊開始按鈕,跑馬燈走起;點(diǎn)擊停止按鈕,跑馬燈停止
start.onclick=function(){ clearInterval(t);//防止多次點(diǎn)擊,而創(chuàng)建多個計(jì)時器 t=setInterval(function(){ var value=cont.innerHTML; var start=value.substring(0,1);//截取第一個字符串 var end=value.substring(1);//截取剩余的字符串 var result=end+start;//拼接一個新的字符串 cont.innerHTML=result;//把新字符串賦值給p標(biāo)簽 },500); } stop.onclick=function(){ clearInterval(t); }
3. 整體代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ margin:0px; padding:0px; } .box{ width:300px; margin:50px auto; } .content{ margin-bottom:20px; } </style> </head> <body> <div class="box"> <p class="content">生命永無止境~~~</p> <button class="start">跑馬燈走起</button> <button class="stop">跑馬燈停止</button> </div> <script> var cont=document.querySelector(".content"); var start=document.querySelector(".start"); var stop=document.querySelector(".stop"); var t; start.onclick=function(){ clearInterval(t);//防止多次點(diǎn)擊,而創(chuàng)建多個計(jì)時器 t=setInterval(function(){ var value=cont.innerHTML; var start=value.substring(0,1);//截取第一個字符串 var end=value.substring(1);//截取剩余的字符串 var result=end+start;//拼接一個新的字符串 cont.innerHTML=result;//把新字符串賦值給p標(biāo)簽 },500); } stop.onclick=function(){ clearInterval(t); } </script> </body> </html>
二. vue實(shí)現(xiàn)跑馬燈
話不多說,直接上代碼了:
<template> <div> <p>{{message}}</p> <button @click="start" class="start">跑馬燈走起</button> <button @click="stop" class="stop">跑馬燈停止</button> </div> </template> <script> export default { data(){ return{ message:"生命永無止境~~~~", t:null } }, methods:{ start(){ clearInterval(this.t);//防止多次點(diǎn)擊而創(chuàng)建多個計(jì)時器 this.t=setInterval(()=>{ var start=this.message.substring(0,1);//截取第一個字符串 var end=this.message.substring(1);//截取剩余的字符串 this.message=end+start; },500) }, stop(){ clearInterval(this.t); } } } </script> <style scoped> </style>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Javascript農(nóng)歷與公歷相互轉(zhuǎn)換的簡單實(shí)例
下面小編就為大家?guī)硪黄狫avascript農(nóng)歷與公歷相互轉(zhuǎn)換的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10Typescript高級類型Record,Partial,Readonly詳解
這篇文章主要介紹了Typescript高級類型Record,Partial,Readonly等介紹,keyof將一個類型的屬性名全部提取出來當(dāng)做聯(lián)合類型,本文通過實(shí)例代碼給大家詳細(xì)講解需要的朋友可以參考下2022-11-11layui+SSM的數(shù)據(jù)表的增刪改實(shí)例(利用彈框添加、修改)
今天小編就為大家分享一篇layui+SSM的數(shù)據(jù)表的增刪改實(shí)例(利用彈框添加、修改),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09javascript結(jié)合CSS實(shí)現(xiàn)蘋果開關(guān)按鈕特效
這篇文章主要介紹了javascript結(jié)合CSS實(shí)現(xiàn)蘋果開關(guān)按鈕特效的方法以及全部代碼,效果非常不錯,兼容性也很好,有需要的小伙伴自己參考下2015-04-04基于JavaScript實(shí)現(xiàn)div層跟隨滾動條滑動
項(xiàng)目需求是這樣的:在一個頁面放2個懸浮框,懸浮框隨頁面的上下滾動有上下波動的效果,最終固定在同一位置,下面通過本文給大家分享基于JavaScript實(shí)現(xiàn)div層跟隨滾動條滑動的相關(guān)資料,對js div跟隨滾動條滑動相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2016-01-01JS+CSS實(shí)現(xiàn)簡單的二級下拉導(dǎo)航菜單效果
這篇文章主要介紹了JS+CSS實(shí)現(xiàn)簡單的二級下拉導(dǎo)航菜單效果,通過簡單的JavaScript頁面元素遍歷及樣式操作實(shí)現(xiàn)下拉菜單效果,非常簡單實(shí)用,需要的朋友可以參考下2015-09-09