【问题标题】:Replace an element when the window width is less than something当窗口宽度小于某个值时替换一个元素
【发布时间】:2023-03-15 04:02:01
【问题描述】:

当我调整浏览器窗口大小时导航栏,徽标停留在导航栏下方,所以我想出一个解决方案是当窗口小于 500px 时用图像替换导航栏,但 jquery 不工作.

有人可以看看吗?告诉我怎么了? 谢谢!

function resizeFunction() {
    if($(window).width() > 500) {   
        if(!$('.head').hasClass('greater'))
        {
			$('#menu').show();
        }
	}
    else {
        if(!$('.head').hasClass('less'))
        {
			$('#menu').hide();
			$('#navbarButton').addClass('less');
        }
    }
}

.head 是标题,#menu 是导航栏 我想用#navbarbutton按钮替换它。 在 html 上,#navbarbutton style="display:none"。

【问题讨论】:

  • $(window).width() > 500 应该是$(window).width() < 500 ?
  • 如果窗口 > 500 它保持不变,如果不改变我认为是一样的。
  • 你在哪里称呼这个:function resizeFunction()
  • 我不知道我是 jquery 的新手
  • jsfiddle.net/q6BpH/1 看到这个

标签: jquery header


【解决方案1】:

你不能用纯 CSS 实现吗?

使用媒体查询将#menu 设置为在小于 500 像素时显示:无,并将 #navbar 按钮设置为在同一媒体查询中显示:块。

在页面其余部分的 CSS 中(超过 500 像素时)将 #navbarbutton 设置为 display:none 并将 #menu 设置为 display:block。

类似这样的:

#menu {
    display:none
}

#nanvbarbutton {
    display:block;
}

@media (min-width:500px) {
    #menu {
        display:block
    }

    #nanvbarbutton {
        display:none;
    }
}

请记住,首先为较小的屏幕版本编写 CSS 通常更容易。

【讨论】:

  • 这与 max-width:500px 的作用相同;我切换两个显示器?谢谢提醒xDD
  • 是的,如果您将媒体查询设置为 '@media(max-width:500px)',隐藏菜单的代码将进入其中,而在外部显示菜单的代码媒体查询。
  • 如果您要使用上述方法 (max-width:500px),我建议您使用 min-width:501px 将其他 css 代码放在另一个媒体查询中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 2012-09-18
  • 2020-08-10
  • 1970-01-01
相关资源
最近更新 更多