
ブラウザの横幅によってcntの値を変えております。
var $win = $(window);
$win.on('load resize', function() {
var windowWidth = window.innerWidth;
if (windowWidth > 767) {
var cnt = 5;// 処理数
return cnt;
}
else {
var cnt = 2;// 処理数
return cnt;
}
});
このcntの値を別のfunctionに渡したいのです。
以下サイトを参考にあれこれやってみましたが、どうしても渡せませんでした。
https://oshiete.goo.ne.jp/qa/3437308.html
どうかご教示いただけないでしょうか?
No.2ベストアンサー
- 回答日時:
こんにちは
>このcntの値を別のfunctionに渡したいのです。
直接的に渡したいのなら、その「対象function」へ引数として渡せば良いでしょう。
対象function(cnt);
その「対象function」との関係かがわかりませんが、そもそもご提示の関数は、イベントリスナとして定義されているので、「渡す」と言われてもどうなさりたいのかよくわかりません。
他の関数から変数の値参照したいという意味であれば(多分こういう意味かと想像しますが)、変数を共通のスコープ内においておけば解決すると思います。
一番簡単なのは「グローバル変数」に値を保存しておくことでしょう。
最初に
var cnt;
としておいて、イベント処理内では
if (windowWidth > 767) cnt = 5; else cnt = 2;
で充分で、「return cnt;」は意味不明です。
上記は
cnt = (windowWidth > 767)? 5:2;
ともかけるので、結局のところ・・・
var cnt;
$(window).on('load resize', function() {
cnt = (window.innerWidth>767)? 5:2;
});
としておいて、「他のfunction」からは、グローバルな変数のcntを参照すれよいのではないでしょうか?
と言っても、「他のfunction」がいつ実行されるのかによっては、質問者様の意図とは違う結果になる可能性がありそうな気がします。(全体が不明なのでわかりませんが、十分ありそうな処理のタイミングのお話です)
ありがとうございました。
いろいろ調べて以下のようにしました。
var cnt;
(function() {
function cnt() {
cnt_set = (window.innerWidth > 767)? 15:6;
$('span#cnt_moto').text(cnt_set);
return cnt_set;
}
window.cntLib= window.cntLib|| {};
window.cntLib.cnt = cnt;
})();
以下が変数を渡したいfunction
jQuery(function($){
var cnt = window.cntLib.cnt();//ここで渡すことができました。
・・・
とても参考になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript 変数のスコープの問題? 3 2022/06/23 09:32
- JavaScript 定積分の近似値を計算する関数composite_newton_cotesをつくりたい 1 2023/01/18 14:09
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1枚の画像をクリックすると複数...
-
バッチファイル 特定ウインドウ...
-
生コンの立米数の出し方
-
C言語のflagの使い方が分かりま...
-
Pythonのプログラム初心者の問題
-
php コールバック関数
-
ナイトボットのAliasについて
-
これってなんの電話かわかりま...
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信で掲示板を作る際の...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
Pythonを勉強する道のり
-
Pythonを無料(安価)で学ぶ方...
-
RPA(PowerAutomate)の実装について
-
ワードでA3横の画面にして、文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
tableのtr要素をドラッグ&ドロ...
-
スライドを最後の画像で止めたい
-
下記サイトのメニューをフラッ...
-
CSVファイルの文字列の表示につ...
-
jqueryでタグの中にある文字が...
-
readyStateが4にならない原因
-
変数の内容を別functionに渡したい
-
【※初歩の質問かもです※】スプ...
-
appleのトップのニュースティッ...
-
jQuery 複雑なswitch文を作りたい
-
Ajaxの結果のページングの方法
-
前後の「+」の意味は?
-
jQueryでのclassの操作
-
Yahoo!ウィジェットのgetElemen...
-
JScriptでDBへの接続方法について
-
moment.js
-
【再質問】計算(入数*単価)...
-
onloadで動かない<DHTML+AJAXア...
-
Google Apps Scriptを利用した...
-
Ajax.Requestで取得したHTMLソ...
おすすめ情報
言葉足らずで申し訳ありません。
PhotoGALLERYの写真表示数をブラウザの幅で変えたかったのです。
jQuery(function($){
var item = $('#js-listItem').children('li');
var btn = $('#js-listItem-more');
var className = "is-hidden";
var itemsList = function () {
var items = $(item).filter(':visible').length;
if (items > cnt) {
$(btn).show();
} else {
$(btn).hide();
}
中略
}
itemsList();
中略
});
文字制限で一部省略させていただきました。
宜しくお願いいたします。