ソースは以下です。
ご教授いただけると本当に助かります。
var timerId = function(){
setTimeout(function(){
処理
timerId(); //ループさせるために関数を読み込んでいる
},2000);
}
var tm = timerId();
//////////////////////////////////////////////////////////////////
//画像クリックでタイマーを止めたい
$("#stop").click(function(){
if(timerId){
clearTimeout(timerId);
});
ポイントの残高があると思っていたのですが、0ptだったので
支払いポイントもなく、厚かましいですが
小さなヒントだけでもいただければ嬉しく思います。
よろしくお願いします。
これじゃ止まらないですよ。
clearTimeout の引数に渡すのは、setTimeout の戻り値ですけど、どこにも代入されてないですもん。
素直にループさせるなら、setTimeout じゃなくて setInterval を使う方が簡単。
var timerId = setInterval(function() { 処理 }, 2000); $("#stop").click(function() { if (timerId) { // 要らないけどね clearInterval(timerId); } });
どうしても setTimeout を使いたいならこんな感じ。
var timerId var job = function() { 処理 timerId = setTimeout(job, 2000); }; timerId = setTimeout(job, 2000); $("#stop").click(function() { if (timerId) { // 要らないけどね clearTimeout(timerId); } });
これじゃ止まらないですよ。
clearTimeout の引数に渡すのは、setTimeout の戻り値ですけど、どこにも代入されてないですもん。
素直にループさせるなら、setTimeout じゃなくて setInterval を使う方が簡単。
var timerId = setInterval(function() { 処理 }, 2000); $("#stop").click(function() { if (timerId) { // 要らないけどね clearInterval(timerId); } });
どうしても setTimeout を使いたいならこんな感じ。
var timerId var job = function() { 処理 timerId = setTimeout(job, 2000); }; timerId = setTimeout(job, 2000); $("#stop").click(function() { if (timerId) { // 要らないけどね clearTimeout(timerId); } });
ありがとうございました!
setTimeoutの戻り値を代入するんですね。
jQueryを独学で勉強しだして2年間、ずっとぶつかっていた疑問が解消しました!
無事、イメージどおりに動くものができました。
ソースまで丁寧に書いていただいて、
凄くわかりやすかったです。
ありがとうございました。
うーんシリーズ。
var timerId = setInterval(function() { //処理 console.log(Date.now()); }, 500); $("body").click(function(){ clearInterval(timerId); }); //---------- var timerId; var timer = function() { timerId = setTimeout(function() { //処理 console.log(Date.now()); timer(); }, 500); } timer(); $("body").click(function(){ clearTimeout(timerId); });
ありがとうございます。
検索しても中々、ピンポイントの答えが無くって困っていたんですが、
Cherenkovさんとa-kuma3さんの回答があったので、
動くものができました。
ありがとうございます!
ありがとうございました!
2013/05/22 09:47:36setTimeoutの戻り値を代入するんですね。
jQueryを独学で勉強しだして2年間、ずっとぶつかっていた疑問が解消しました!
無事、イメージどおりに動くものができました。
ソースまで丁寧に書いていただいて、
凄くわかりやすかったです。
ありがとうございました。