代码之家  ›  专栏  ›  技术社区  ›  Anna_B

组合加载、调整大小和窗口大小设置

  •  0
  • Anna_B  · 技术社区  · 2 年前

    只有当窗户尺寸大于 1000px 。它应该在加载时工作,并且如果窗口大小发生变化。

    这是我的尝试:

    $(window).on("resize", function() {
      if ($(window).width() > 1000) {
        alert("Hello!");
      });
    }
    }).resize();
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    不幸的是,它并没有像预期的那样工作。应该改变什么?

    2 回复  |  直到 2 年前
        1
  •  1
  •   Jess    2 年前

    要使函数同时在加载和调整大小时运行,可以在参数中将加载和调整尺寸都命名为“on”。

    $(window).on("resize load", () => {
        alert("Hello!")
    })
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        2
  •  0
  •   SirPilan    2 年前

    你很接近。只需按照下面的方式修改代码。

    $(window).on("resize", function() {
      if ($(window).width() > 1000) {
        alert("Hello!");
      });  // <- remove this
    }      // <- indent this (+2 spaces)
    }).resize();
    

    这就是为什么缩进很重要的一个很好的例子。一看到2 } 在同一列中,你知道有些地方不对劲——最后两行就是这样。

    工作示例:

    $(window).on("resize", function() {
      $('#size').html('Size: ' + $(window).width());
      if ($(window).width() > 300) {
        $('#result').html('> 300');
      } else {
        $('#result').html('<= 300');
      };
    }).resize();
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
    <div id="size"></div>
    <div id="result"></div>