时间:2021-05-26
CSS 部分
首先随便新建一个用来做判断的类,然后通过 Media Queries 来对这个类的 z-index 属性赋予不同的值。这个类仅作为 JavaScript 读取使用,所以需要将其移出屏幕窗口,让浏览者不可见以免引起意外情况。
作为演示,下面代码设置了四种设备状态:桌面普通版、小屏幕桌面版、平板电脑版和手机版。
.state-indicator { position: absolute; top: -999em; left: -999em; z-index: 1;}@media all and (max-width: 1200px) { .state-indicator { z-index: 2; }}@media all and (max-width: 1024px) { .state-indicator { z-index: 3; }}@media all and (max-width: 768px) { .state-indicator { z-index: 4; }}JavaScript 判断
CSS 已经就位了,那么就需要用 JavaScript 来生成了一个临时的 DOM 对象,然后为它设置对应的类,然后再读取这个对象的 z-index 值。原生的写法如下:
// Create the state-indicator elementvar indicator = document.createElement('div');indicator.className = 'state-indicator';document.body.appendChild(indicator);// Create a method which returns device statefunction getDeviceState() { return parseInt(window.getComputedStyle(indicator).getPropertyValue('z-index'), 10);}getDeviceState() 函数返回的就是 z-index 的值,为了增强一下可读性,可以用 switch 函数来规范输出一下:function getDeviceState() { switch(parseInt(window.getComputedStyle(indicator).getPropertyValue('z-index'), 10)) { case 2: return 'small-desktop'; break; case 3: return 'tablet'; break; case 4: return 'phone'; break; default: return 'desktop'; break; }}这样,就可以用一下代码来判断设备状态,然后执行相应的 JavaScript 代码:
if(getDeviceState() == 'tablet') { // 平板电脑下执行的 JavaScript 代码}这里如果你使用的是 jQuery,直接使用下面代码就可以了:
$(function(){ $('body').append('<div class="state-indicator"></div>'); function getDeviceState() { switch(parseInt($('.state-indicator').css('z-index'),10)) { case 2: return 'small-desktop'; break; case 3: return 'tablet'; break; case 4: return 'phone'; break; default: return 'desktop'; break; } } console.log(getDeviceState()); $('.state-indicator').remove();});先创建,然后获取,最后删掉这个节点,具体的设备会在你的控制台中输出,点击这里查看 Demo ,可以试着拖动一下中间的边框,然后点击 Run。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面主要用javascript代码来判断浏览器类型及设备访问该网页面,支持手机上的所有浏览器,具体代码如下。JS判断是什么设备是什么浏览器-www.jb51.n
要想实现css屏幕大小自适应,首先得引入CSS3@media媒体查询器:media的使用和规则: ①被链接文档将显示在什么设备上。 ②用于为不同的媒介类型规
语法:CSSCode复制内容到剪贴板@media:{sRules}取值::指定设备名称。{sRules}:样式表定义。说明:判断媒介(对象)类型来实现不同的展现
JavaScript是前端开发的主要语言,我们可以通过编写JavaScript程序来判断浏览器的类型及版本。JavaScript判断浏览器类型一般有两种办法,一
WEB开发中如何通过Javascript来判断终端为PC、IOS(iphone)、Android呢?可以通过判断浏览器的userAgent,用正则来判断手机是否