繁体   English   中英

改善$(document).ready和$(window).resize并使其更紧凑

[英]improve $(document).ready and $( window ).resize and make it more compact

我有这个代码例如

var Wwin = $(window).width()

if ( Wwin > 2000 ) { 
    alert ('yes')
} else {    
    alert ('no')    
}

我需要每次$(document).ready$( window ).resize都运行此代码

例如

$( window ).resize(function() {

    var Wwin = $(window).width()

    if ( Wwin > 2000 ) { 
        alert ('yes')
    } else {    
        alert ('no')    
    }

});

$(document).ready(function() {

    var Wwin = $(window).width()

    if ( Wwin > 2000 ) { 
        alert ('yes')
    } else {    
        alert ('no')    
    }

});

有什么方法可以改进此代码并使它更紧凑?

例如

var $MyFunction =  (   var Wwin = $(window).width()
                       if ( Wwin > 2000 ) { 
                            alert ('yes')
                       } else { 
                            alert ('no')    
                       }  )

$( window ).resize(function() {

     $MyFunction

}); 

$(document).ready(function() {

     $MyFunction

});

要么

$(document).ready(function(){} & $( window ).resize(function() {

         $MyFunction

});

你有什么建议?

您可以随时执行功能。

var windowSize = function () {
    if ( $(window).width() > 2000 ) { 
        alert('yes')
    } else {    
        alert('no')    
    }
}
$(document).ready(windowSize);
$(window).resize(windowSize);

但是请记住,调整大小事件将被多次触发。

我建议:

var $MyFunction = function(){alert ($(window).width() > 2000?'yes':'no')};
$( window ).resize($MyFunction); 
$(document).ready($MyFunction);
var resizeHandler = function () {
    if ( $(window).width() > 2000 ) alert('yes');
    else alert('no');
}

$(function() {
    resizeHandler();
    $(window).resize(resizeHandler);
});

我进行了修改,我认为这是您需要的答案。

var $windowSize = function () {
    if ( $(window).width() > 2000 ) { 
        alert('yes')
    } else {    
        alert('no')    
    }
}
$(document).on('ready',$windowSize);
$(window).on('resize',$windowSize);

为什么要使用on()
使用$(document).on('ready', function(){});更有意义$(document).on('ready', function(){}); $(window).on('resize', function(){});

您只需要创建一个函数并在加载时调用它,然后将其绑定到窗口调整大小事件即可。

var resizeView = function () {
    if ( $(window).width() > 2000 ) {
        alert('yes');
    } else {
        alert('no')
    }
}

$(document).ready(function() {
    resizeView();
    $(window).resize(resizeView );
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM