如果屏幕小于某个宽度,请隐藏div
如果用户屏幕<1024px,我想要隐藏浮动div,因为它将覆盖我的博客内容区域。 我在网上发现了这个jQuery,但我不知道如何使用它。
$(document).ready(function() { if ((screen.width>1024)) { // if screen size is 1025px wide or larger $(".yourClass").css('display', 'none'); // you can also use $(".yourClass").hide(); } elseif ((screen.width<=1024)) { // if screen size width is less than 1024px $(".yourClass").css('display', 'block'); // here you can also use show(); } });
如果我的浮动div类名是sharecontent,我应该像下面那样替换上面的脚本吗? 如果是,它不起作用。
$(document).ready(function() { if ((screen.width>1024)) { // if screen size is 1025px wide or larger $(".sharecontent").css('display', 'none'); // you can also use $(".yourClass").hide(); } elseif ((screen.width<=1024)) { // if screen size width is less than 1024px $(".sharecontent").css('display', 'block'); // here you can also use show(); } });
我也尝试用window.width替换screen.width但仍然没有成功:(
使用媒体查询 。 你的CSS代码是:
@media screen and (max-width: 1024px) { .yourClass { display: none !important; } }
我和你的情况差不多; 如果屏幕宽度小于我指定的宽度,它应该隐藏div。 这是我用过的jquery代码。
$(window).resize(function() { if ($(this).width() < 1024) { $('.divIWantedToHide').hide(); } else { $('.divIWantedToHide').show(); } });
你的代码的问题似乎是elseif语句, else if
(注意空格)应该是else if
。
我重写并简化了代码:
$(document).ready(function () { if (screen.width < 1024) { $(".yourClass").hide(); } else { $(".yourClass").show(); } });
在这个例子中,你的逻辑是不是错误的方法,当屏幕大于1024时,你将它隐藏起来。反转案例,将none
放入block
,反之亦然。
我遇到的问题是我的css媒体查询和我在Jquery冲突中的IF语句。 它们都被设置为700px,但有人会认为它比另一个高出700px。
为了解决这个问题,我在HTML的顶部创建了一个空的Div(在我的主容器之外)
在css中,我将此div设置为none
#max-width { display: none; }
在我的JS中创建了一个函数
var hasSwitched = function () { var maxWidth = parseInt($('#max-width').css('max-width'), 10); return !isNaN(maxWidth); };
所以在我的IF语句中,而不是说if(hasSwitched <700)执行以下代码,我做了以下操作
if (!hasSwitched()) { Your code } else{ your code }
通过这样做,CSS告诉Jquery它达到700px时。 所以css和jquery都是同步的……而不是像素差异。 请试一试,这绝对不会令人失望。
为了让这个逻辑适用于IE8,我使用了Respond.js插件(这也绝对有效)它允许你使用IE8的媒体查询。 只有不支持的是视口宽度和视口高度…因此我尝试让我的CSS和JS一起工作。 希望这可以帮助你们