@约翰

好吧,我混淆了大于符号。简单的事情...。我要做的事情是,只有在browser.width()> 941px(如果页面大小调整为 = 941px,请打开codeMagic()。然后,如果页面加载的图像少于941px,则不要运行codeMagic(),而要保持调整大小的意识。

这是我的示例代码:

CSS:

<style>
    body { margin: 0; }
    footer { padding: 10px; margin: 10px; height: 100%; }
  </style>

HTML:
<div id="home">home!</div>
<footer>footer!</footer>

<script src='lib/js/vendor/jquery.js'></script>
<script src='../den.js'></script>

JS:
jQuery( document ).ready(function($) {
// set element height based on 'window height' - 'footer height'

function codeMagic() {

    var docHeight = parseInt($( window ). height());
    var footerHeight = parseInt($( 'footer' ).outerHeight( true ));
    var homeHeight = +docHeight - +footerHeight + 'px';

        $( 'body #home' ).height(homeHeight);
        console.log( homeHeight, footerHeight);
};

if (jQuery(window).width() >= 941) {

codeMagic(); // init codeMagic

//Set codeMagic to run on browser resize
$( window ).resize( function() {

    codeMagic();

    });
   }
});

正确的方法是什么?

最佳答案

如果浏览器的大小大于DOM init上的941 px,则不会触发您的resize事件,因为您没有绑定(bind)它。您需要像下面这样更改它:

if (jQuery(window).width() >= 941) {
  codeMagic(); // init codeMagic
}


//afterwards bind to the resize event
$( window ).resize( function() {
  //check size again
  if (jQuery(window).width() >= 941) {
    codeMagic();
  }
});

09-11 18:20