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

时间:2015-06-17 06:59:44

标签: javascript jquery

我有这个代码 例如

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

});

你有什么建议?

5 个答案:

答案 0 :(得分:4)

你总是可以创造一个功能。

        //print out the sorted result
        Range firstColumn = sourceWorkSheet.UsedRange.Columns[10];
        System.Array myvalues = (System.Array)firstColumn.Cells.Value;
        string[] cmItem = myvalues.OfType<object>().Select(o => o.ToString()).ToArray();
        String msg="";
        for (int i = 0; i < 30; i++)
        {
            msg = msg + cmItem[i] + "\n";
        }
        MessageBox.Show(msg);

但请记住,resize事件将被多次触发。

答案 1 :(得分:1)

我建议:

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

我做了一个编辑,我认为这是你需要的答案。

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

Why you should use on()
使用$(document).on('ready', function(){});$(window).on('resize', function(){});更有意义。

答案 4 :(得分:1)

您只需要创建一个函数并在加载时调用它并将其绑定到window resize事件。

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

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