热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信遮罩php,微信小程序遮罩功能实现

所有的用法是控制显示隐藏的flag的起名的时候都加一个flag.驼峰命名法。step1放一个空块step2写空块的样式.mask{width:100%;height:100%;po

所有的用法是控制显示隐藏的flag的起名的时候都加一个flag.驼峰命名法。

step 1 放一个空块

step2 写空块的样式

.mask{

width:100%;

height:100%;

position:fixed;

background-color:#999;

z-index:9999;

top:0;

left:0;

opacity:0.5;

}

其中颜色可以任选,透明度也可以任选。

使用固定定位,而不要使用absolute,这样子页面即使可以滑动,遮罩也是不会改变的。

有的人做了这样的兼容处理:

-moz-opacity: 0.7;

opacity: 0.70;

filter: alpha(opacity=70);

目前不太明白,没有看到需要的地方,以后可以再添加这个,若是需要。

或者使用rgba的颜色也可以解决。

step 3 控制显示还是隐藏

wx:if与hidden的选择

wx:if是...

hidden是...

因为 wx:if 之中的模板也可能包含数据绑定,所有当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。

同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

所以

step 4 绑定方法控制 flag 的 true or false

bindtap='showFlag'

然后再写一下事件处理函数

showFlag:function(){

this.setData({

maskFlag:false,

oilchooseFlag:true

})

}

事件处理函数控制显隐,可以控制N个变量

还需要点确定的时候隐藏起来,如下图

8397b12125d2

点确定的时候隐藏

确定

oilConfirm:function(){

this.setData({

maskFlag: true,

oilchooseFlag: false

})

}

他人做法:

通过控制style的display来控制显示和隐藏:

点评:官方说明style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。所以最好不要使用这种方式。

至此,完成。

8397b12125d2

遮罩效果图



推荐阅读
author-avatar
蒲哟独CrRz
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有