效果圖
新建activityScrollTop.js作為mixins
export default {data() {return {navBgColor: "rgba(0,0,0,0)", // 初始背景顏色為完全透明navTextColor: "rgba(0,0,0,1)", // 初始文字顏色};},onPageScroll(e) {// 設置背景const newAlpha = Math.min((e.scrollTop / 100) * 1, 1);this.navBgColor = `rgba(${this.shadeBackground},${newAlpha})`;// 設置文字const progress = Math.min(e.scrollTop, 255) / 255;const [r, g, b] = this.shadeTextColor.split(",").map(Number);const newTextRgb = Math.min(e.scrollTop * 5, 255);const newRgb = [r, g, b].map((targetValue) => {return Math.min(newTextRgb + (targetValue - newTextRgb) * progress, 255);});this.navTextColor = `rgba(${newRgb.join()},1)`;},
};
使用方法
第一步,引入上方js
import activityScrollTop from "../../js/activityScrollTop";
export default {mixins: [activityScrollTop],
}
第二步:
關鍵:backgroundColor和color
<uni-nav-bar:leftIcon="圖標":border="false"@clickLeft="方法名":backgroundColor="navBgColor"fixedstatusBar:color="navTextColor"title="活動詳情"
></uni-nav-bar>
第三步:
data
// 漸變導航背景顏色
shadeBackground: "254,181,89",
// 漸變導航的文字顏色
shadeTextColor: "255,255,255",
看效果即可!
感謝你的閱讀,如對你有幫助請收藏+關注!
只分享干貨實戰和精品,從不啰嗦!!!
如某處不對請留言評論,歡迎指正~
博主可收徒、常玩QQ飛車,可一起來玩玩鴨~