JavaScriptの質問をしたり答えたりする掲示板

2019-01-29に作成

JavaScriptに関する質問を何でもしていい掲示板です。匿名での投稿も可能です。どんなことでもどしどし書き込んでください。回答もどなたでも自由にできます。僕も回答できる内容であれば必ず回答します!

質問は下記に沿って書いていただくと回答しやすくなります。

  • 実際のソースコードがある場合、可能な範囲で書いていただくと問題点を見つけやすくなります。
  • 実際に発生したエラーメッセージがある場合、コピペしていただくと問題解決につながる可能性が高いです。
  • 見た目上の問題の場合、スクリーンショットを貼ると状況が把握しやすくなります。
person
(匿名) #b41acdfb
comment
4

昨日はご回答頂けまして誠にありがとうございます。

今回、変数の受け渡しで分からない点が出てきまして webで調べても分からなかった為 ご教授頂けないでしょうか。

game_end = 'OFF';

function kan_edit(All_number){

      //setInterval用の関数
      function kan_anim_timer(){

          if( game_end == 'ON' ){
              clearInterval(kan_timerArray.shift());
            }

      //setInterval設定
      $(document).ready(function () {
          kan_timerArray.push(setInterval(kan_anim_timer, 100));
      });

}

上記の様にsetIntervalを clearIntervalで停止するものとなります。
この際に【kan_edit(All_number)】内で【timer++】を使ったタイマーによる分岐を作るとclearIntervalさせることは出来ました。

他関数
game_end = 'ON';

しかし、上記の様に別の関数で終了用の変数内容を指定したのですが 既に動いている関数に反映させることが出来ませんでした。

ただ、他関数で変数を指定した後に生成したら どうなるのか確認したら そちらでは変数が反映されておりました。

実行中のsetInterval内のIF文の判定に外部functionで指定した変数を使うにはどの様にするべきでありますでしょうか?

ご教授頂けましたら幸いです。


person
(匿名) #b41acdfb
comment
7

昨日は回答頂けましてありがとうございます。

今回 for文の仕様面なのか?分からない点が出てきまして ご教授頂けないでしょうか。

//引数用
function set(number){

var class_01 = number;

const $btn = $('<button class="add"><img src="./data/image/kan.gif" width="100" height="100"></button>');
$('.add').addClass(class_01);
$('.add').toggleClass('add');

      $('.layer').append($btn).trigger('create');

}


//ループ
$(document).ready(function(){

  $(function() {

    for (var i=1; i<4; i++) {

      set(i);引数

    }

  });

});

問題部位を簡略化しました。

こちらで動かすとループ文内の関数が走ってボタンが生成されます。
生成された後に付属しているクラス名を追加、基点となるクラス名を削除します。
生成されたボタンのクラス名は連番が付いていることになります。

しかし、1つだけ【add】クラス名のみ 連番が付いていないものがありました。

変数「i」の数を増やしても 同じ現象が起きておりました。

コンソールパネルでクラス名を確認すると【class_01】で追加されているはずの番号【1】のクラス名のみありません。

最初に生成されたボタンへのcss操作が適用されておりませんでした。

この現象を避けるには どの様に記述すれば良いのでしょうか?


person
(匿名) #b41acdfb
comment
5

javascriptで動的に画像ボタンを生成する方法を探しております。

var $btn = $('').addClass('px').text('ボタンだよ');
$('.layer').append($btn).trigger('create');

で文字を入れたボタンを動的に作成することが出来まして、その後 文字ではなく画像をボタンとして使おうと試行錯誤しているのですが上手くいきません。

.document.write等を使ったりしたのですが生成出来ませんでした。

画像をボタンとして生成するのには上記のコードではダメなのでしょうか?

ご教授頂けましたら幸いです。

(下記が試してみて駄目だったコードです...

var $btn = $('').addClass('px').document.write('')
$('.layer').append($btn).trigger('create');

var $btn = $('').addClass('px').text('00');
$('.layer').append($btn).trigger('create');

タグ

投稿月

最近コメントされた投稿