ブラウザの横幅によって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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数の内容を別functionに渡したい
-
readyStateが4にならない原因
-
二つのbxsliderをレスポンシブ...
-
jQueryで追加した要素がマウス...
-
Safariでの onload="getData()"...
-
JQueryでAjax通信をキャンセル...
-
Javascriptを使ってQRコード読...
-
Selenium4でボタンをクリックで...
-
jqueryでリンクを無効にしたあ...
-
ajaxからphpにpsotしたときの日...
-
inputタグ内にあるid属性の意味?
-
インラインフレームを自動更新...
-
マスターページ使用時のJavascript
-
たくさんの経由地がある巡回ル...
-
Folder.selectDialog()について
-
Googleマップ上で、オリジナル...
-
.txtファイルの読み込み
-
EUC-JPに対応しているjQueryを...
-
JavaScriptでtabindexの変更っ...
-
Googleマップのピンをクリック...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
readyStateが4にならない原因
-
tableのtr要素をドラッグ&ドロ...
-
スライドを最後の画像で止めたい
-
Ajax.Requestで取得したHTMLソ...
-
ページ内リンクで#などのアンカ...
-
Ajaxの結果のページングの方法
-
変数の内容を別functionに渡したい
-
Google Apps Scriptを利用した...
-
javascriptでJSONデータの生成方法
-
jqueryでタグの中にある文字が...
-
JavaScriptでtabindexの変更っ...
-
Javascriptを使ってQRコード読...
-
カンマ区切りのデータを配列に...
-
jQueryのアコーディオン一番目...
-
JavascriptからPHPへのAjax通信...
-
階層別の組織図の自動作成について
-
SQLのmaxで求めた値を変数に代...
-
.txtファイルの読み込み
-
FullCalendar の複数月表示につ...
-
[jQuery UI] sortableを使いaja...
おすすめ情報
言葉足らずで申し訳ありません。
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();
中略
});
文字制限で一部省略させていただきました。
宜しくお願いいたします。