1. 微信小程序實現文字逐行動畫效果渲染顯示
??在微信小程序開發中,為了文字逐行動畫效果渲染可以通過JavaScript 和 WXML 的動態數據綁定來實現,實現文字逐行顯示的效果,同時結合 CSS 動畫提升視覺體驗。
??如果需要更復雜的動畫效果(如縮放、移動等),可以使用微信小程序提供的 Animation。
??在實際開發中,需根據需求調整定時器的時間間隔和動畫效果,以確保用戶體驗最佳。
?&emsp如果列表較長或字符較多,建議優化性能,例如限制同時運行的定時器數量,或者在用戶滾動時暫停動畫。
1.1. 實現文字逐行顯示的動畫效果
1.1.1. 使用 KEYFRAMES 定義動畫
??通過 @keyframes 定義動畫的關鍵幀,控制每行文字的顯示時間。通過定義一個名為 fadeIn 的動畫2,它通過調整透明度從 0 到 1 來實現淡入效果。
@keyframes fadeIn {from {opacity: 0;}to {opacity: 1;}
}
1.1.2. 設置每一行文字的樣式
??為每一行文字添加不同的 animation-delay 屬性,以確保它們依次顯示。
.line1 {animation: fadeIn 1s ease-in-out;
}
.line2 {animation: fadeIn 1s ease-in-out 1s;
}
.line3 {animation: fadeIn 1s ease-in-out 2s;
}
1.1.3. WXML 結構
??在 wxml 文件中,使用 view 標簽將每行文字包裹起來,并應用對應的樣式類名。
<view class="line1">第一行文字</view>
<view class="line2">第二行文字</view>
<view class="line3">第三行文字</view>
1.2. 逐行渲染(列表)
1.2.1. 動態數據綁定更新渲染lineDisplay.js
??首先定義一個包含多行文字的數組,每一項代表一行文字。通過 setInterval 或 setTimeout 定時器,逐步更新當前顯示的行數,并將新行的內容添加到視圖中。可以使用 setData 方法動態修改頁面上的數據顯示。
// pages/lineDisplay/lineDisplay.js
Page({data: {lines: ["第一行文字", "第二行文字", "第三行文字"], // 文字數組displayedLines: [], // 當前已顯示的文字數組currentIndex: 0, // 當前顯示的行索引},onLoad: function () {const that = this;const intervalId = setInterval(() => {if (that.data.currentIndex < that.data.lines.length