【JavaScript 13—应用总结】:锁屏遮罩
导读:上次说了,当弹出登录框时,由于背景色和弹出框时一样的,这样子,其实比较难聚焦到底该操作哪一块。所以,如果,有了颜色的区分,那么通过屏幕遮罩的效果,就可以将我们希望要被处理的东西突出显示。也就达到了一个间接聚集的效果。
一、实现分析
锁屏遮罩,其实是在作品展的时候,和小伙伴一起用过。当时本来是一个新实现的功能,结果被师姐说费事儿了。现在,觉得这样的遮罩功能在某些层面上,还是有用的。至少可以通过一个明暗的对比,突出显示出我们想要显示的东西。
首先,锁屏遮罩是针对于整个屏幕来说的,所以,需要有一个对于整个屏幕的CSS样式设置,主要是颜色和透明度的设置。
其次,因为浏览器的大小是不确定的,所以在不同大小的浏览器上设置锁屏,则需要获取当前屏幕的长、宽,也就是获取当前视口的大小。
然后,需要有一个锁屏的方法,既然有了锁屏的方法(当锁屏时,只允许操作突出显示的东西,别的东西失效),那么当退出弹出框的时候,则相应的有一个取消锁屏的方法。
最后,在需要的弹出框显示的时候,同时调用锁屏的方法。退出时,同理。
附:效果图
二、具体实现
2.1,锁屏CSS
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">/* 设置屏幕样式 */
#screen{
position:absolute;
top:0;
left:0;
background:#000;
z-index:1;
filter:alpha(opacity=30);
opacity:0.3;
display:none;
}</span></span>
注:需要在HTML中增加一个div控制全屏。而这里的z-index,则是将锁屏变暗的屏幕至于最底层,所以同时需要在现实的div样式中,将z-index进行相应的设置,如没有别的设置,总共只有两层,可以设置为2。
2.2,获取视口(跨浏览器)
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">function getInner(){
if(typeof window.innerWidth!="undefined"){
return{
width:window.innerWidth,
height:window.innerHeight
}
}else{
return{
width:document.documentElement.clientWidth,
height:document.documentElement.clientHeight
}
}
}</span></span>
2.3,锁屏
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">Base.prototype.lock=function(){
for(var i=0;i<this.elements.length;i++){
this.elements[i].style.width=getInner().width+"px";
this.elements[i].style.height=getInner().height+"px";
this.elements[i].style.display="block";
}
return this;
}</span></span>
首先是通过视口大小,结合设置的CSS颜色透明度,将窗口改变,然后,将设置好的CSS显示,也就是改变其display样式。
2.4,取消锁屏
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:24px;">//取消锁屏功能
Base.prototype.unlock=function(){
for(var i=0;i<this.elements.length;i++){
this.elements[i].style.display="none";
}
return this;
}</span></span>
将显示出的CSS样式隐藏。
2.5,运用(弹出登陆框为例)
1,在浏览器改变视口大小时,如果锁屏遮罩显示,那么则执行锁屏。
2,在弹出登陆框时,执行锁屏。
3,在退出登录框时,关闭锁屏。
三、个人感受
1,通过锁屏遮罩,可以控制浏览器窗口的物件的有效性,通过颜色明暗的对比,设置出整个浏览器的层次性。但是,在我们运用的大多数浏览器中,屏幕可以拖动,弹出框可以拖动,甚至可以随着滚动条的移动而自行移动。那么这个将怎么处理呢?
2,这样虽然实现了锁屏遮罩,但在弹出框出现的同时,背景色同时改变,这样子会不会显得太突兀,怎样实现一个渐变的效果呢?
3,锁屏后,屏幕上的主要按钮,如:个人中心、登录、注册、logo主页等到底该不该失效?怎样在锁屏的过程中将自己不想其失效的物件变得有效?
以上都是遗留的问题,需要进一步的学习解决!
【JavaScript 13—应用总结】:锁屏遮罩的更多相关文章
- 第一百三十四节,JavaScript,封装库--遮罩锁屏
JavaScript,封装库--遮罩锁屏 封装库新增1个方法 /** zhe_zhao_suo_ping()方法,将一个区块元素设置成遮罩锁屏区块 * 注意:一般需要在css文件将元素设置成隐藏 ** ...
- iOS 13 绕过锁屏密码漏洞
iOS 13 很快就要发布了,在未正式发布之前,西班牙的安全研究员 Jose Rodriguez 公开了一个漏洞,能够查绕过锁屏密码查看通讯录.照片.短信. 在 iOS 设备上,当屏幕锁定时,用户无法 ...
- js防windos锁屏功能实现
<li class="layui-nav-item"> <a href="javascript:;" id="lock"& ...
- 使用恶意USB设备解锁 Windows & Mac 锁屏状态
NSA专业物理入侵设备——USB Armory,可解锁任意锁屏状态的下的Windows和Mac操作系统,含最新发布的Windows10.及较早的Mac OSX El Capitan / Maveric ...
- mint锁屏设置
心血来潮,给笔记本装了linux,版本是当下最火的mint.唔,使用体验不错-下面记录的是修改mint锁屏相关设置的修改方式. In Linux Mint 13, the screen lock fe ...
- [cocos2d-x·解Bug]关于cocos2d-x游戏在android锁屏状态下播放Bgm的解决方法
最近<宠物联萌>在三星App上发布遇到一个问题:如果用户在锁定屏幕时解锁解到一半时取消解锁,这时用cocos2d-x开发的游戏就会出现游戏Bgm会恢复播放,但手机屏幕仍然是锁屏状态的Bug ...
- 轻仿QQ音乐之音频歌词播放、锁屏歌词-b
先上效果图 歌词播放界面 音乐播放界面 锁屏歌词界面 一. 项目概述 前面内容实在是太基础..只想看知识点的同学可以直接跳到第三部分的干货 项目播放的mp3文件及lrc文件均来自QQ音乐 本文主要主要 ...
- fcode-页面九宫格自动锁屏jquery插件
fcode.js 自动锁屏插件 fcode.js是什么? fcode.js是一款web页面九宫格自动锁屏js插件,依赖于jquery, 会在设置的范围里,判断用户有无操作,然后执行锁屏的功能. 就一个 ...
- 【Mac使用系列】Mac锁屏及快捷键
mac锁屏办法,我有所尝试,可用系统自带锁屏快捷键:Ctrl + Command + Q或者参考方法2,直接设置TouchBar. 这两种办法,亲测可用.我直接设置了TouchBar,锁屏解锁离得很近 ...
随机推荐
- Ubuntu系统下安装字体和切换默认字体的方法
参考链接:http://my.oschina.net/itblog/blog/278566 打开Ubuntu的软件中心,搜索:tweak,安装[Unity Tweak Tool]这款软件,如图(由于我 ...
- Vue.js - day7
使用mui的tab-top-webview-main完成分类滑动栏 兼容问题 和 App.vue 中的 router-link 身上的类名 mui-tab-item 存在兼容性问题,导致tab栏失效, ...
- hihocoder1821 取卡片游戏
思路: 博弈dp. 实现: #include <iostream> #include <algorithm> #include <cstring> using na ...
- Vue-router 的练习
使用了vue-cli 生成了一套webpack的模版. 之后在其中练习 vue-router. 以下是一些记录. 1.动态路由的配置 import Vue from 'vue' import Rout ...
- Android 实现类似于QQ空间相册的点击图片放大,再点后缩小回原来位置
前几天看到了有人在android5.0上实现了如下图一样的效果,我自己就去搜了下.参考了国外一篇文章和国内的一篇文章,最终实现了想要的效果.具体参考的网址我已经贴到文章末尾,大家可以去英文的那个网站看 ...
- listView onItemClick失效
1.先检查list是否设置监听onItemClick事件 2.ListView中有按钮时,会使子项的onItemClick事件无效,如果onItemClick不能触发,在ListView子项目布局文件 ...
- 为网站设置icon图标用于显示在浏览器标签页最左侧
icon图标,想必大家对它并不陌生吧,在浏览网页时会看到浏览器标签页的最左侧会有一个小图标,这个正是icon图标.本例为大家介绍下如何为网站设置这个图标 这句话起什么作用 ?复制代码 代码如下: &l ...
- COGS 2280. [HZOI 2015]树白黑
★★ 输入文件:B_Tree.in 输出文件:B_Tree.out 简单对比时间限制:2 s 内存限制:512 MB [题目描述] 给定一棵有根树,树根为1,一开始这棵树所有节点均为白 ...
- aspose.cell 给excel表格设置样式
方法1: Style styleTitle = workbook.Styles[workbook.Styles.Add()];//新增样式 styleTitle.HorizontalAlignment ...
- C# Process.Start方法
System.Diagnostics.Process.Start(); 主要功能: 1.打开某个链接网址(弹窗). 2.定位打开某个文件目录. 3.打开系统特殊文件夹,如“控制面板”等. Proces ...