• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryの関数から変数を取得)

jQueryの関数から変数を取得する方法とは?

このQ&Aのポイント
  • jQueryの関数から変数を取得する方法を教えてください。
  • 関数名を使って変数を取得し、別の関数で利用したいですが、どうすれば良いですか?
  • 単純な関数では関数名を利用して戻り値として取得することができますが、この場合はどのようにすれば良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sanzero
  • ベストアンサー率56% (58/102)
回答No.2

コードはよく読んでませんがif elseifなので通ってない可能性があります。elseを追加して試してみては。 width()の戻り値はintegerなのでparseIntは不要です。

noname#210746
質問者

お礼

ありがとうございました。

noname#210746
質問者

補足

ありがとうございます。 elseを追加してみましたが値は変わらず、もう少し考えてみようと思います。 var timer = false; var replaceWidth = 640; var prefWidth = $( window ).width(); var val = 0; $( window ).resize( function () { if( timer !== false ) { clearTimeout( timer ); } timer = setTimeout( function () { var self = $( this ); var windowWidth = parseInt( $( window ).width() ); if( windowWidth <= replaceWidth && replaceWidth < prefWidth ) { val = 5; } else if( replaceWidth < windowWidth && prefWidth <= replaceWidth ) { val = 10; } else { val = 15; } prefWidth = windowWidth; }, 200 ); }); console.log( val );

その他の回答 (2)

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.3

一番下に書かれたconsole.log(val)は読み込んだ時しか走りません。 resizeされたときにvalの値が書き換わります。

noname#210746
質問者

お礼

ありがとうございました。

noname#210746
質問者

補足

当たり前の事なのに全く気付かずに見過ごしていました…。 細かなところまでアドバイスして頂き感謝しています。 ありがとうございました。

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.1

valをprefWidthと同様に最初に宣言して、1とか10を代入しているところでvarを付けなければ、続いて記述した関数内で使えます。 javascript 変数 スコープ と言ったキーワードで検索してみてください。 その他 ・クッキーに持たせる ・セッションストレージに持たせる。 window widthってparseInt必要かな?

noname#210746
質問者

お礼

ありがとうございました。

noname#210746
質問者

補足

cookieやローカルストレージ等については今回は利用しない事を前提にしていますが、セッションストレージは便利そうですね…。 parseIntに関しては、確かクロスブラウザ対策で単位が付かないように数値化するのが目的だったと思います。 そして頂いた回答を元に関数の外で変数として宣言(値は0を指定)し、関数内varを付けずに記述してみましたが、変数として宣言した最初の値のまま変化しませんでした。

関連するQ&A