基本函数没有使用变量运行,而是在页面加载时运行。

问题描述 投票:0回答:1

我想知道为什么在调整浏览器窗口大小的时候,函数 checkBrowserHeight 没有执行。

这是代码。

  if (window.innerWidth > 768) {
      var homeP = document.querySelector('.home-page');
    
      var checkBrowserHeight = function() {
        console.log('function executed');
      }();
    
      window.onresize = checkBrowserHeight;
    }

我把它设置为一个变量,这样它就会在页面加载时加载,然后再被调用。为什么这样做不行,有没有更优化的方法?在此感谢大家的帮助

javascript
1个回答
1
投票

有两个逻辑问题。

  1. 有一个额外的 () 在处理函数的结尾。
  2. 处理程序将被分配给 window.onresizewindow.innerWidth 是比768宽的。

我的建议是

  var homeP = document.querySelector('.home-page');

  var checkBrowserHeight = function() {
     if (window.innerWidth > 768) {
       console.log('function executed');
     }
  };

  window.onresize = checkBrowserHeight;

1
投票
var checkBrowserHeight = function() {
    console.log('function executed');
}();

请注意该函数结尾括号旁边的括号。这意味着你没有将 checkBrowserHeight 的函数,你把它分配给了 结果 的函数。

在函数的结尾加上括号就可以调用它。只要去掉这些,所以你的代码应该是。

var checkBrowserHeight = function() {
    console.log('function executed');
};
© www.soinside.com 2019 - 2024. All rights reserved.