2011-07-02 14 views
0

I持ってbasicly彼らの第一行以外は同じに書かれている2つのjQueryの機能:マージ2つのjQueryの機能

$(document).ready(function() { 
var h = $(window).height(); 
var w = $(window).width(); 
$('#foo').css({'height' : h}); 
$('#foo').css({'width' : w}); 
}); 

$(window).resize(function() { 
var h = $(window).height(); 
var w = $(window).width(); 
$('#foo').css({'height' : h}); 
$('#foo').css({'width' : w}); 
}); 

ので、私は思っていたならばその可能1いくつかの方法にそれらをマージするには?

いつもありがとうございます。

答えて

4

は手動resizeイベントをトリガすることができます

$(function() { // shortcut for $(document).ready(function() {...}); 
    $(window).resize(function() { // bind the handler 
     $('#foo').css({ 
      'height': $(window).height(), 
      'width': $(window).width() 
     }); 
    }).resize(); // trigger the resize event 
}); 

をや余分な機能を作成し、両方のイベントにバインド:ところで

function resizeHandler() { 
    $('#foo').css({ 
     'height': $(window).height(), 
     'width': $(window).width() 
    }); 
} 

$(document).ready(resizeHandler); 
$(window).resize(resizeHandler); 

。 のショートカットは$(function(){...});です。このよう

+0

あなたは時間に私を打ちます! – Bakaburg

+1

'.css()'を組み合わせてみませんか?ちょっとsayin 'haha – Nic

+1

@melee:ええ、最初に質問に集中する;)固定... –

0
var myFunction = function() { 
var h = $(window).height(); 
var w = $(window).width(); 
$('#foo').css({'height' : h}); 
$('#foo').css({'width' : w}); 
} 

$(document).ready(myFunction); 
$(window).resize(myFunction); 
0

:(長いが、より理解しやすい)、それを呼び出すための

function yourfunc() { 
var h = $(window).height(); 
var w = $(window).width(); 
$('#foo').css({'height' : h}); 
$('#foo').css({'width' : w}); 
} 

$(document).ready(yourfunc); 
$(window).resize(yourfunc); 

もう一つの方法は、次のようになります。

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

両方の仕事。お役に立てれば。乾杯

0

function calculateSomething(){ 
    var h = $(window).height(); 
    var w = $(window).width(); 
    $('#foo').css({'height' : h, 'width' : w}}); 
} 

その後、あなたはまたやる使用することができ

$(document).ready(calculateSomething); 

$(window).resize(calculateSomething); 
0

関数を呼び出す第三の機能を作成します。

$(window).bind('load resize', function(e){ 
    $('#foo').css({'width' : $(window).width(), 'height': $(window).height()}); 
}); 
+0

loadは、関数を呼び出す前に、すべての外部ファイルと画像がロードされるのを待ちます。 – Emil

+0

@エミール:うーん、それは本当だ... – Dizzi