【问题标题】:Call a function when window is resized调整窗口大小时调用函数
【发布时间】:2016-09-17 03:44:19
【问题描述】:

如何在调整浏览器窗口大小时再次调用此(或任何)JS 函数?

<script type="text/javascript">
 function setEqualHeight(e) {
     var t = 0;
     e.each(function () {
         currentHeight = $(this).height();
         if (currentHeight > t) {
             t = currentHeight
         }
     });
     e.height(t)
 }
 $(document).ready(function () {
     setEqualHeight($(".border"))
 })
</script>

【问题讨论】:

    标签: javascript jquery window-resize


    【解决方案1】:

    您可以使用窗口onresize事件:

    window.onresize = setEqualHeight;
    

    【讨论】:

      【解决方案2】:

      您可以订阅window.onresize事件(See here

      window.onresize = setEqualHeight;
      

      window.addEventListener('resize', setEqualHeight);
      

      【讨论】:

        【解决方案3】:

        这段代码将添加一个计时器,它会在窗口调整大小后 200 毫秒后调用调整大小函数。这将减少方法的调用。

        var globalResizeTimer = null;
        
        $(window).resize(function() {
            if(globalResizeTimer != null) window.clearTimeout(globalResizeTimer);
            globalResizeTimer = window.setTimeout(function() {
                setEqualHeight();
            }, 200);
        });
        

        【讨论】:

        • 大大减少方法的调用
        【解决方案4】:

        你使用jquery,所以使用.resize()方法绑定它。

        $(window).resize(function () {
            setEqualHeight( $('#border') );
        });
        

        【讨论】:

          猜你喜欢
          • 2023-03-19
          • 1970-01-01
          • 2019-05-15
          • 1970-01-01
          • 2021-05-26
          • 1970-01-01
          • 1970-01-01
          • 2016-05-03
          • 1970-01-01
          相关资源
          最近更新 更多