uniapp寫小程序時(shí)遇到的rpx適配不精準(zhǔn)問題

遇到的問題

在完成一個(gè)奶茶點(diǎn)餐微信小程序的時(shí)候,想實(shí)現(xiàn)點(diǎn)擊左側(cè)分類菜單欄,右側(cè)菜單滾動(dòng)到相應(yīng)位置時(shí),出現(xiàn)了rpx適配不精準(zhǔn)的問題。只在屏寬375px的機(jī)型中測(cè)試時(shí)可以實(shí)現(xiàn)滾動(dòng)到精確的位置,其他屏寬的機(jī)型會(huì)出現(xiàn)不精準(zhǔn)的情況。使用的是srcoll-view做右側(cè)菜單外包,改變scrollTop值來實(shí)現(xiàn)滾動(dòng)到相應(yīng)位置的效果。目前問題已解決。

滾動(dòng)不精準(zhǔn)的情況

問題解決后的效果圖

問題解決后的相應(yīng)js代碼

解決思路

首先實(shí)現(xiàn)rpx轉(zhuǎn)px,實(shí)現(xiàn)代碼如下

(注:proportion即為rpx/px的值,在屏寬375px的情況下,該值為2)

解決rpx適配不精準(zhǔn)問題

在適配時(shí),proportion的值往往取整數(shù),而我們計(jì)算時(shí)一般會(huì)直接使用rpx/proportion的值,這個(gè)值通常都會(huì)有小數(shù)部分,故會(huì)出現(xiàn)滾動(dòng)不精準(zhǔn)的問題。

因此我們?cè)谟?jì)算時(shí)也需把每個(gè)元素高的轉(zhuǎn)換值取整數(shù),且應(yīng)該是向下取整。再累加作為scrollTop的值。

注:盡量不用padding,在適配時(shí),會(huì)先分別對(duì)height和padding進(jìn)行取整運(yùn)算再相加作為該元素可見框大小,也會(huì)導(dǎo)致一定的誤差。(當(dāng)然你可以對(duì)height和proportion做分別取整)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容