0

助けてくれませんか...jquery関数から変数を返す方法

var height = $(window).height();

$(window).resize(function(){
    var height = $(window).height();
    return height;
});

setInterval(function() {
    $('div').append( 'Index: ' +  height );
}, 500);
4

3 に答える 3

5

戻る必要はありません。これを試して:

var height = $(window).height(); // define "height" here

$(window).resize(function(){
    height = $(window).height(); // update "height" variable, 
                                 // don't user "var" here.
                                 // because using "var" will redefine
                                 // "height" again and no longer contain the
                                 // updated value on window resize 
                                 // out of this resize function scope
});

setInterval(function() {
    $('div').append( 'Index: ' +  height );
}, 500);
于 2012-09-14T20:04:57.393 に答える
2

使用するときvarは、元の変数を上書きするのではなく、新しい変数を作成します。代わりにこれが必要になります:

var height = $(window).height();

$(window).resize(function() {
    height = $(window).height();
});

// ...
于 2012-09-14T20:04:56.513 に答える
0

あなたの質問への答えは、あなたがそれをどのように返したいかによって異なると思います. コンソール?アラート?div またはその他の要素? リストについては、以下を参照してください。

  • console.log(高さ)
  • アラート(高さ)
  • $("#elementID").html(高さ); // または、あなたのケースで機能するセレクターとメソッド

その $(window).resize ブロックを関数に変換してから、その関数を呼び出すこともできると思います。それもうまくいくはずです。

于 2012-09-14T20:15:22.627 に答える