微信小程序?qū)崿F(xiàn)文字跑馬燈
前言
要實(shí)現(xiàn)跑馬燈主要就是獲得判斷開(kāi)始定界和結(jié)束定界, 1.9.3新增的wxml操作接口 就可以拿到節(jié)點(diǎn)長(zhǎng)寬等屬性,當(dāng)然你也可以直接用 文字?jǐn)?shù)量 * 文字大小(注意字體的單位px,rpx)。
效果圖
短字

長(zhǎng)字

wxml
<view class="content">
<text class="every" decode="{{true}}" style="right:{{announZf}}{{announNum}}px">{{announ}}</text>
</view>
js
我這里用的是wepy寫(xiě)的,湊合著看吧
export default class ShopIndex extends wepy.page {
config = {
navigationBarTitleText : '首頁(yè)',
}
data = {
// 公告內(nèi)容
announ : '超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度超長(zhǎng)度v',
announNum : 0,
announy : 280,
announZf : '-'
}
onLoad() {
let self = this;
var query = wepy.createSelectorQuery();
query.select('.content').boundingClientRect(ContentRes => {
var query = wepy.createSelectorQuery();
query.select('.every').boundingClientRect(TextRes => {
//加上一百是因?yàn)榉乐乖跉w零時(shí)出現(xiàn)閃爍的情況
let maxContentWidth = ContentRes.width + 100,
maxTextWidth = TextRes.width;
//初始化
self.announNum = TextRes.width
self.$apply();
//定時(shí)器
setInterval(()=>{
if(self.announZf == '-') {
if(self.announNum <= 0) {
self.announZf = ''
} else {
self.announNum -= 1
}
} else {
if(self.announNum > (maxContentWidth)) {
//歸位
self.announZf = '-'
self.announNum = maxTextWidth
} else {
self.announNum += 1
}
}
self.$apply();
},5)
}).exec();
}).exec();
}
}
-----2018-12-24 ----
使用的時(shí)候需要注意 setInterval 的性能問(wèn)題, 不用的時(shí)候或者不顯示的時(shí)候?qū)⑵渫V?,否則會(huì)像作者一樣給自己挖坑。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了js代碼實(shí)現(xiàn)點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-12-12
JavaScript子類(lèi)用Object.getPrototypeOf去調(diào)用父類(lèi)方法解析
這篇文章主要介紹了JavaScript子類(lèi)用Object.getPrototypeOf去調(diào)用父類(lèi)方法。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
JS?const關(guān)鍵字生成常量的三個(gè)特點(diǎn)介紹
這篇文章主要介紹了JS?const關(guān)鍵字生成常量有哪些特點(diǎn),下面通過(guò)代碼演示const關(guān)鍵字聲明的常量的塊級(jí)作用域效果,需要的朋友可以參考下2023-05-05
uniapp小程序?qū)崙?zhàn)之利用騰訊地圖獲取定位
使用uniapp是因?yàn)樗且粋€(gè)使用vue.js開(kāi)發(fā)所有前端應(yīng)用的框架,開(kāi)發(fā)者編寫(xiě)一套代碼,可以發(fā)布到ios,android,web以及各種小程序,快應(yīng)用等多個(gè)平臺(tái),下面這篇文章主要給大家介紹了關(guān)于uniapp小程序?qū)崙?zhàn)之利用騰訊地圖獲取定位的相關(guān)資料,需要的朋友可以參考下2023-02-02
Javascript結(jié)合css實(shí)現(xiàn)網(wǎng)頁(yè)換膚功能
現(xiàn)在網(wǎng)站換皮膚是比較常見(jiàn)的功能,大多數(shù)論壇都有的,要想實(shí)現(xiàn)這樣效果可以看如下代碼.2009-11-11
JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)tab欄效果制作
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)tab欄效果制作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
一些Javascript的IE和Firefox(火狐)兼容性的問(wèn)題總結(jié)及常用例子
下面是一些Javascript的IE和Firefox(火狐)兼容性的常用例子2009-05-05

