diff --git a/components/iconfont/iconfont.vue b/components/iconfont/iconfont.vue index 42b0cc99..ce8bbb4b 100644 --- a/components/iconfont/iconfont.vue +++ b/components/iconfont/iconfont.vue @@ -1,6 +1,6 @@ @@ -26,7 +26,11 @@ propContainerDisplay: { type: String, default: 'inline-block', - } + }, + propStyle: { + type: String, + default: '', + }, }, }; diff --git a/pages/diy/components/diy/header.vue b/pages/diy/components/diy/header.vue index a8dd29d1..0228f932 100644 --- a/pages/diy/components/diy/header.vue +++ b/pages/diy/components/diy/header.vue @@ -63,7 +63,7 @@ - + @@ -79,7 +79,7 @@ - + @@ -180,6 +180,7 @@ up_slide_old_logo_style: '', up_slide_style: '', up_slide_img_style: '', + up_slide_icon_style: '', // 当前页面是否在底部菜单中 is_tabbar_pages: app.globalData.is_tabbar_pages(), is_left_back_btn_show: '0', @@ -204,19 +205,25 @@ watch: { // 监听滚动距离 propScrollTop(newVal) { - const { up_slide_background_color_list, up_slide_background_direction, up_slide_background_img, up_slide_background_img_style, up_slide_display } = this.propValue.style || {}; + const { up_slide_background_color_list, up_slide_background_direction, up_slide_background_img, up_slide_background_img_style, up_slide_display, img_color = '', up_slide_icon_color = '' } = this.propValue.style || {}; if (up_slide_display == '1') { // 渐变 const gradient = { color_list: up_slide_background_color_list, direction: up_slide_background_direction }; // 背景图 const back = { background_img: up_slide_background_img, background_img_style: up_slide_background_img_style }; - const up_slide_opacity = 'opacity:' + ((newVal - 20) / this.header_top > 1 ? 1 : ((newVal - 20) / this.header_top).toFixed(2)) + ';'; + // 渐变显示数据 + const opacity = (newVal - 20) / this.header_top > 1 ? 1 : ((newVal - 20) / this.header_top).toFixed(2); + const up_slide_opacity = 'opacity:' + opacity + ';'; this.up_slide_opacity = up_slide_opacity; // 来的logo要比新的隐藏的快,所以要比原来的logo快一点 this.up_slide_old_logo_style = 'opacity:' + ((newVal - 5) / this.header_top > 1 ? 0 : (1 - (newVal - 5) / this.header_top).toFixed(2)) + ';'; // =0是大小误差 this.up_slide_style = gradient_computer(gradient) + up_slide_opacity; + // 图标更换 + this.up_slide_icon_style = up_slide_icon_color == '' || opacity <= 0 ? `color: ${ img_color };` : `color: ${ up_slide_icon_color };${ this.up_slide_opacity }`; this.up_slide_img_style = background_computer(back); + } else { + this.up_slide_icon_style = `color: ${ img_color };` } }, propKey(val) {