摘要:先放個(gè)效果如果能訪問最好主要原理微信小程序現(xiàn)在實(shí)際上還是用的,里面搞動(dòng)畫效率最高的莫過于使用的了。由于微信小程序中無法獲取到對應(yīng)元素的寬度,這個(gè)時(shí)間只能寫死或者根據(jù)的長度估算出一個(gè)值。
最近有個(gè)項(xiàng)目里面用到跑馬燈,網(wǎng)上搜了下,雖然有人貼出來過一些實(shí)現(xiàn),但是實(shí)際上都存在一些個(gè)問題。
哎,再造個(gè)輪子吧。
先放個(gè)效果:
p.s. 如果能訪問jsfiddle最好:https://jsfiddle.net/650spwen/
主要原理微信小程序現(xiàn)在實(shí)際上還是用的webview,里面搞動(dòng)畫效率最高的莫過于使用CSS3的animation了。
跑馬燈無非就是一直滾動(dòng),這很容易想到使用無限循環(huán)的animation.
而一直往左滾動(dòng)的效果,通過css有很多種方式,比如通過改變left, margin-left, tranform: translateX()都可以實(shí)現(xiàn)。但是 left 和 margin-left 一般會導(dǎo)致布局的重新計(jì)算。使用transform: translateX()性能會更好一些。
主要實(shí)現(xiàn)代碼首先,視圖模板wxml中:
css3 + animation跑馬燈 {{text}} {{text}} {{text}}
這里為了連續(xù)無限滾動(dòng),特意復(fù)制了2份跑馬燈的內(nèi)容(.content)。
然后,樣式wxss中:
@keyframes kf-marque-animation{ 0% { transform: translateX(0); } 100% { transform: translateX(-33.3%); } } .marquee{ width: 100%; height: 44px; line-height: 44px; background: #fff; border: none; display: block; margin: 0 auto; overflow: hidden; white-space: nowrap; text-overflow: clip; position: relative; font-size: 28rpx; } .marquee .content{ display: inline-block; position: relative; padding-right: 0px; animation: kf-marque-animation 11.3s linear infinite; white-space: nowrap; }
最后,js里面隨便給 page.data.text 賦值一段文本即可。具體js略。
如果要調(diào)整滾動(dòng)速度,可以設(shè)置 .content 的元素的動(dòng)畫時(shí)間( animation-duration 樣式)。由于微信小程序中無法獲取到對應(yīng)元素的寬度,這個(gè)時(shí)間只能寫死或者根據(jù)text的長度估算出一個(gè)值。
完整的示例在jsfiddle上有個(gè)html版本的:https://jsfiddle.net/650spwen/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/83193.html
摘要:層疊即表示允許以多種方式來描述樣式,一個(gè)元素可以被渲染呈現(xiàn)出多種樣式??梢宰寣傩缘淖兓^程持續(xù)一段時(shí)間,而不是立即生效。比如,將元素的顏色從白色改為黑色,通常這個(gè)改變是立即生效的,使用后,將按一個(gè)曲線速率變化。 showImg(https://segmentfault.com/img/bVZwyL?w=900&h=385); CSS 的全稱是 Cascading Style Sheet...
摘要:規(guī)定動(dòng)畫的時(shí)長。注意子菜單要用隱藏,在顯示的時(shí)候再設(shè)置。如果不加,實(shí)際上子菜單,以及子菜單下面的一直在頁面上,如果鼠標(biāo)移上去子菜單,以及子菜單下面的。 1.前言 在自己的專欄上寫了十幾篇文章了,都是與js有關(guān)的。暫時(shí)還沒有寫過關(guān)于css3的文章。css3,給我的感覺就是,不難,但是很難玩轉(zhuǎn)自如。今天,就用css3來實(shí)現(xiàn)三個(gè)特效,希望這三個(gè)特殊能讓大家受到啟發(fā),利用css3做出更好,更炫...
摘要:所以我把這個(gè)為了區(qū)分這個(gè)組件包是水平方向的,改名為三基于的文字跑馬燈組件大致了解怎么發(fā)組件包以后,我們再來看看需要發(fā)布出去的組件包怎么寫的。 一、前言 總結(jié)下最近工作上在移動(dòng)端實(shí)現(xiàn)的一個(gè)跑馬燈效果,最終效果如下: showImg(https://segmentfault.com/img/remote/1460000009540502?w=555&h=380); 印象中好像HTML標(biāo)簽的...
閱讀 992·2023-04-25 19:40
閱讀 3625·2023-04-25 17:41
閱讀 3086·2021-11-11 11:01
閱讀 2787·2019-08-30 15:55
閱讀 3313·2019-08-30 15:44
閱讀 1489·2019-08-29 14:07
閱讀 573·2019-08-29 11:23
閱讀 1406·2019-08-27 10:54