最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript根据CSS的MediaQueries来判断浏览设备的方法-1565783227

来源:懂视网 责编:小采 时间:2020-11-27 16:44:31
文档

JavaScript根据CSS的MediaQueries来判断浏览设备的方法-1565783227

JavaScript根据CSS的MediaQueries来判断浏览设备的方法-1565783227:CSS 部分 首先随便新建一个用来做判断的类,然后通过 Media Queries 来对这个类的 z-index 属性赋予不同的值。这个类仅作为 JavaScript 读取使用,所以需要将其移出屏幕窗口,让浏览者不可见以免引起意外情况。 作为演示,下面代码设置了四种设备状态:桌面普
推荐度:
导读JavaScript根据CSS的MediaQueries来判断浏览设备的方法-1565783227:CSS 部分 首先随便新建一个用来做判断的类,然后通过 Media Queries 来对这个类的 z-index 属性赋予不同的值。这个类仅作为 JavaScript 读取使用,所以需要将其移出屏幕窗口,让浏览者不可见以免引起意外情况。 作为演示,下面代码设置了四种设备状态:桌面普

CSS 部分

首先随便新建一个用来做判断的类,然后通过 Media Queries 来对这个类的 z-index 属性赋予不同的值。这个类仅作为 JavaScript 读取使用,所以需要将其移出屏幕窗口,让浏览者不可见以免引起意外情况。

作为演示,下面代码设置了四种设备状态:桌面普通版、小屏幕桌面版、平板电脑版和手机版。

/* default state */
.state-indicator {
 position: absolute;
 top: -999em;
 left: -999em;
 
 z-index: 1;
}
 
/* small desktop */
@media all and (max-width: 1200px) {
 .state-indicator {
 z-index: 2;
 }
}
 
/* tablet */
@media all and (max-width: 1024px) {
 .state-indicator {
 z-index: 3;
 }
}
 
/* mobile phone */
@media all and (max-width: 768px) {
 .state-indicator {
 z-index: 4;
 }
}

  

JavaScript 判断

CSS 已经就位了,那么就需要用 JavaScript 来生成了一个临时的 DOM 对象,然后为它设置对应的类,然后再读取这个对象的 z-index 值。原生的写法如下:

// Create the state-indicator element
var indicator = document.createElement('div');
indicator.className = 'state-indicator';
document.body.appendChild(indicator);
 
// Create a method which returns device state
function 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('');
 
 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();
});

  

文档

JavaScript根据CSS的MediaQueries来判断浏览设备的方法-1565783227

JavaScript根据CSS的MediaQueries来判断浏览设备的方法-1565783227:CSS 部分 首先随便新建一个用来做判断的类,然后通过 Media Queries 来对这个类的 z-index 属性赋予不同的值。这个类仅作为 JavaScript 读取使用,所以需要将其移出屏幕窗口,让浏览者不可见以免引起意外情况。 作为演示,下面代码设置了四种设备状态:桌面普
推荐度:
标签: 判断 js 判断的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top