【问题标题】:How can I hide some ID elements using Javascript if the browser window is less than a given size?如果浏览器窗口小于给定大小,如何使用 Javascript 隐藏一些 ID 元素?
【发布时间】:2011-08-28 04:29:25
【问题描述】:

我已经为这个问题寻找了几个小时的答案,但找不到任何有效的方法。

如果浏览器窗口宽度小于给定大小时网页不可见,我需要制作一些元素。这是因为窗口左侧有一些固定位置的“按钮”在滚动时会展开,但是如果窗口宽度小于 1056 像素左右,这些按钮会与主页内容重叠。

我有一个用于返回窗口大小并将该值放入变量的脚本。 如果变量值小于 1056,我会显示一条消息。(用于测试)

我已经看到了如何使用 jQuery 和 Javascript 使事物可见或不可见,但它们都不适合我。

我要隐藏的图像的 id 是#go2。

这是我一直试图开始工作的脚本的一部分:

if (viewportwidth <1056)document.write('<p>Your viewport width is LESS than 1056</p>');

if (viewportwidth <1056)document.getElementById('go2').style.display = 'none';

我不得不使用 {literal} 标签,因为页面使用的是 SMARTY 模板!

我对 javascript 和 jQuery 非常陌生,如果有任何帮助,我将不胜感激。

谢谢。

【问题讨论】:

标签: javascript jquery


【解决方案1】:

为确保用户调整窗口大小时该行为发生,您还可以绑定到resize 事件:

jQuery(window).resize(function() {
   if(jQuery(window).width() < 1056) {
      jQuery(".hide-these").hide();
   }
});

【讨论】:

  • 哦,这很有趣......我可能也会看看这样做。谢谢!
【解决方案2】:

你可以使用 jQuery:

if(viewportwidth <1056) {
    $('.target').hide();
}

此外,您可以使用 CSS3 隐藏元素,如下所示:

@media only screen and (min-width: 1056px) {
    #go2 {
        display:none;
    }
}

【讨论】:

  • 谢谢,我首先尝试过,但无法让它发挥作用,所以尝试了我的上述方法......我没有意识到(这将向您展示我的知识水平!)是我没有一个“事件”来让它工作!通过将 (document).ready 添加到我的脚本中,我终于(几乎)完全完成了我需要的工作,实际上改变了我正在做的事情,因此这些项目隐藏在 CSS 中,除非窗口大于给定大小 - 那页面加载完成后按钮不会出现然后消失的方式。
【解决方案3】:

CSS3 媒体查询可以在没有 Javascript 的情况下完成您想要的操作,但是浏览器支持非常不完整: http://www.w3.org/TR/css3-mediaqueries/

或者,您可以按照上面的建议使用 Javascript,但通常需要注意关于打开 JS 等。如果您喜欢 Javascript 库,JQuery 会更容易: http://www.ilovecolors.com.ar/detect-screen-size-css-style/

如果没有,您可以在 Google 上找到很多教程来解释如何使用 Javascript 查询窗口大小。

【讨论】:

  • 谢谢!它现在可以使用,但我相信这些东西会对未来的项目有用
猜你喜欢
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
相关资源
最近更新 更多