所以,我在宽显示器上有一个2up的布局,然后在使用媒体查询的小显示器上有一个列表视图。一切都很好,除了我在宽屏设置上也有jQuery .show()/。hide()ing元素。 那个效果也不错,但是当我调整窗口大小时:jQuery当前的任何内容.hide()d都会显示不,尽管我的媒体查询定义了display:block;对于那个大小的那些元素。
我做错了什么,如何解决这个问题?
答案 0 :(得分:3)
首先,jQuery将替换您更改的元素的样式,因此无论您使用的是什么,以前的CSS都是:
$("#myelement").hide();
它将强制更改CSS显示属性,这里有2个选项。
1)创建一个隐藏类,这样你就可以为类创建一个媒体查询,所以当窗口是> 1000px它将显示:无;但如果它有1000<它可以有显示:块;使用:
$("#myElement").addClass("hidden");
而不是hide()。
2)使用绑定到窗口的jQuery http://api.jquery.com/resize/的resize()事件进行播放,这样就可以执行此操作:
$(window).resize(function(){
if($(window).width()> 1000){
//Hide or show, or do some pirate stuff
}else{
//More pirate stuff
}
});
我希望这就是你要找的东西。