我在调整窗口大小时表示,从响应的@media查询应用的效果和从jQuery应用的效果不在同一宽度点。
是不是应该使用浏览器?有没有解决方案,或者计算CSS和JS之间差异的方法?
我的CSS:
@media only screen
and (min-width : 768px)
and (max-width : 1024px) { }
我的jQuery:
$(document).ready(function(){
if($(this).width() < 1024 && $(this).width() > 768) {
} else {
}
$(window).on('resize', function(){
if($(this).width() < 1024 && $(this).width() > 768) {
} else {
}
});
});
为了避免这种差异,我的解决方案是这样的:当我在{7} px和1024px之间时,#selector
声明了display:none
。然后,在jQuery代码中,而不是使用大小&lt; 1024和&gt; 768我正在使用它:
if($("#selector").is(":hidden")) { }
但是,有没有更好的方法来组合@media查询和jQuery的宽度而没有差异?感谢。
更新:我已在此处找到解决方案:https://stackoverflow.com/a/11310353/3018860。之所以出现这种情况,是因为«CSS正在使用设备宽度,但JS正在使用文档宽度»。