ボタンをクリックする度に連番で作成した関数を順番に実行したいのですが、スマートな書き方がわかりません。
下記のコードで一応動くのですが、関数が100個とかに増えた場合すごくコードが長くなってしまいます。
もっとスマートに書く方法はないものでしょうか?
▼サンプルコード
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10 …
<script>
$(function(){
function s1(){alert('s1');};
function s2(){alert('s2');};
function s3(){alert('s3');};
var num = 1;
$('p').click(function() {
if(num == 1){s1();}
else if(num == 2){s2();}
else if(num == 3){s3();}
num++;
return false;
});
});
</script>
</head>
<body>
<p>click</p>
</body>
</html>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ANo1です。
例えば、以下のようにすることで、呼び出す毎に順番に実行する関数を定義することも可能です。
var Func = (function(){
var i = 0. funcs = [
function(){ alert("s1"); },
function(){ alert("s2"); },
function(){ alert("s3"); }
];
return function(){
funcs[i]();
i = ++i % funcs.length;
}
})();
Func(); // s1
Func(); // s2
Func(); // s3
Func(); // s1
ご回答有り難うございます!
仰っている意味はわかりますが、書き方が初めて見るものでしたので、実際に試しながら勉強させて頂きます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外でマウスアップした時のイベント
-
【javascript 】addEventListen...
-
idを使わずにonclickで自身の要...
-
(function(){})()の意味
-
javascriptのenchantの打ちミス
-
jQueryのイベントに引数を渡したい
-
ジャバスプリクトについて
-
google apps scriptの終了のさせ方
-
javascriptを用いて作成された...
-
Perlの配列をJavaScriptに渡せ...
-
文字色の変化
-
flickrのAPIを用い、任意の写真...
-
/*@cc_on@*/
-
javascriptとphpの連携で疑問
-
【競プロ】アルゴリズムの仕組...
-
googleスプレッドシートのApps ...
-
setTimeoutによる繰り返しが途...
-
TexでΣの添え字の位置直し
-
同じIDで定義した要素の配列を...
-
なぜmatchメソッドがエラーにな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
関数でy=g(x)のgとは何の略です...
-
idを使わずにonclickで自身の要...
-
functionから別のfunctionを実...
-
jslintのエラーについて質問
-
要素名がスペースを含む場合のj...
-
javascript(jQuery)でセル内...
-
ajax反映後のjqueryが動かない
-
jQueryの :not() .not() が有効...
-
getElementByIdを使用したグロ...
-
コードをスマートにさせたい。
-
クリックすると上に開くアコー...
-
jQueryの"return false"の役割...
-
jQueryが読み込めない
-
個別では動く、javascriptのエラー
-
一つのアクションで関数を二つ...
-
jqueryの変数を関数の外に出す方法
-
R言語
-
jQuery|:not(:animated)
-
functionの値を別のfunction へ
-
スムーズに動く アニメーション...
おすすめ情報