简体   繁体   English

使用Java脚本更改媒体查询

[英]Change media query using Javascript

I want to set media queries manually. 我想手动设置媒体查询。 I have some JavaScript algorithm that tells me what to choose, suppose it is IsMediaA() . 我有一些JavaScript算法可以告诉我要选择什么,假设它是IsMediaA()

@media A { display: block; }
@media B { display: inline-block; }

Is it possible to change used media query depending on IsMediaA() value? 是否可以根据IsMediaA()值更改使用过的媒体查询?

Something like this could do the work. 这样的事情可以完成工作。

if(IsMediaA()) {

   $('<style />', {
        'text': '@media A { display: block; }'
   }).appendTo('body');

}

but it's a lot better to workaround with some state classes and style it property in css file: 但是解决一些状态类并在css文件中设置it属性的样式要好得多:

js: JS:

if(IsMediaA()) $('element').addClass('is-mediaA');

css: CSS:

@media A {
    element.is-mediaA { display: block; }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM