のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,062,851人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ+ JavaScript の質問用スレッド vol.113 +

    JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    651 : Name_Not - 2014/01/06(月) 21:18:33.85 ID:??? (-6,-29,-1)
    .then(func)
    652 : Name_Not - 2014/01/06(月) 21:24:19.51 ID:??? (+21,-5,+2)
    エラーになりました
    653 : Name_Not - 2014/01/06(月) 21:29:13.04 ID:??? (-3,-29,-7)
    jsは連想配列が糞なんだよな
    foreachないし
    654 : Name_Not - 2014/01/06(月) 21:51:04.56 ID:??? (+0,-29,-7)
    >>652
    .then(関数名)でだめか。JQじゃなかったかもしれん。
    655 : Name_Not - 2014/01/06(月) 21:51:45.64 ID:??? (-1,-29,-15)
    tl.enchant.jsは使いやすいね
    656 : Name_Not - 2014/01/07(火) 01:40:30.24 ID:??? (+57,+29,-57)
    delayをstopで止めることの何が問題なのか分からなくなりました
    実証コードを書こうとしたのですが、なんか問題ないみたいで。
    何が問題なのか分かる方いますか?
    657 : Name_Not - 2014/01/07(火) 02:08:11.32 ID:??? (+96,+29,-44)
    どうもおかしかったのはstopのタイミングがおかしかったようです
    それで検索したらdelayにはstopが効かないという記事が出てきたので、そうかなと思ったのですが
    今はうまく動いているようです
    昔の話なのかな?
    659 : Name_Not - 2014/01/07(火) 10:53:13.22 ID:??? (+2,-29,-33)
    chromebookでjsの開発できますか?
    660 : Name_Not - 2014/01/07(火) 11:06:01.90 ID:??? (+3,-30,-119)
    入門書を買ったのですが最初のプログラムでつまづきました

    if (confirm("保存しますか?")) {
    alert("保存しました");
    } else {
    akert("キャンセルしました");
    }

    入門書のプログラムをそのまま書いたのですが何度見比べても間違いはないのに動きません
    OKを押したら保存しましたと表示されますがキャンセルを押してもキャンセルしましたと表示されないんです
    一字一句間違えていないのですが何が原因なのでしょうか?
    661 : Name_Not - 2014/01/07(火) 11:15:34.15 ID:??? (+31,-25,+1)
    akertになってる
    662 : Name_Not - 2014/01/07(火) 11:26:22.26 ID:??? (+95,+29,-25)
    >>661
    一字一句を何度も何度も見返したのにこんな間違いだとは思いませんでした恥ずかしいです
    ありがとうございました
    663 : Name_Not - 2014/01/07(火) 13:13:06.76 ID:??? (-1,-29,-34)
    chromebookはchrome以外のIEとかfirefoxも動くのですか?
    664 : Name_Not - 2014/01/07(火) 13:15:21.44 ID:??? (+70,+29,-2)
    >>662
    そういうエラーはコンソールに出るから、見てみよう。
    665 : Name_Not - 2014/01/07(火) 13:22:05.43 ID:??? (+70,+29,-5)
    >>657
    この件ですが、実際に組み込んでみるとやっぱりタイミングによって動作が変になります
    うーむ
    666 : Name_Not - 2014/01/07(火) 13:23:37.34 ID:??? (+36,-30,+0)
    ゲームを作りながら覚えるというやり方でJSを勉強してます。途中までは上手くいってたんですがエラーが出て何時間も止まっています。
    //で無効にしているところが以前までのところで、その下の行に新しく書き換えなさいという部分です。
    何度やってもコンソールにUncaught TypeError: Cannot read property 'innerHTML' of nullと表示されます。

    今までは画面を書き換えていたものを、一番下の文章にそのまま表示させるらしいです。最後の行を書き換えるまでは上手く動いていたので原因はそこにあるはずなのですが
    記述は間違っておらず何が理由で動かないのか検討もつきません。どなたかアドバイスもらえないでしょうか?

    window.addEventListener("keydown", keyPressed, false);
    var name = "アーサー";
    var lv = 30;

    putJyosyou();

    function keyPressed(event) { if( event.keyCode == 97 ) { lv = 30; } else { lv = 90; }
    if ( lv < 40 ){ putGameOver(); } else { putGameClear(); } }

    function putJyosyou() { put ("魔王が" + "世界を滅ぼそうとしています。"); put (name + "はレベル" + lv + "のツワモノです。");
    put ("1.すぐに倒しに行く"); put ("2.修行してから倒しに行く"); }

    function putGameOver () { put(name + "は魔王に敗れました。"); put("GAME OVER"); }

    function putGameClear () { put(name + "は魔王を倒しました!"); if ( lv > 200 ) { put("レベル" + lv + "なので魔王はゴミでした!");
    } else if ( lv > 100 ) { put("レベル" + lv + "なので超楽勝でした!"); } else if ( lv > 70 ) { put("レベル" + lv + "なので楽勝でした!");
    } else if ( lv > 50 ) { put("レベル" + lv + "なので良い勝負でした!"); } else { put("レベル" + lv + "なので苦戦しました");}
    put("GAME CLEAR!"); }

    function put ( str ) {
    //document.write( str + "<br>");
    document.body.innerHTML += str + "<br>";
    }
    667 : Name_Not - 2014/01/07(火) 14:01:57.97 ID:??? (+96,+29,-16)
    >>666
    そのコードが動いている時には、まだbodyができていないんだろう。
    668 : Name_Not - 2014/01/07(火) 14:03:27.91 ID:??? (+70,+29,-3)
    >>667
    呼び出すタイミングを変えたら動きました。助かりました!
    669 : Name_Not - 2014/01/07(火) 15:47:59.37 ID:??? (+3,-29,-62)
    delayがおかしい件、検証コード書けました
    http://jsbin.com/OloFofiZ/1/edit
    5秒後にフェードアウトするようにする
    →4秒後にstopで前の分をキャンセルし、再び5秒後にフェードアウトするように再設定
    →しかしキャンセルは効かず、1秒後にフェードアウトは始まり、終了時に経過時間約6秒を表示

    やはりdelayはstopで止まらないようです
    670 : Name_Not - 2014/01/07(火) 16:56:02.17 ID:??? (+3,-30,-54)
    .queue(function (next) {
    console.log('1');
    next();
    })

    なんてのを間に入れてみればわかるけど、再設定した .delay()が働いていないみたいね。
    なんだろう?
    671 : Name_Not - 2014/01/07(火) 19:50:52.75 ID:??? (-1,-29,-11)
    >>659
    JustDoItとかで出来るよ
    672 : Name_Not - 2014/01/07(火) 21:54:45.32 ID:PuESuTSE (+24,+29,-23)
    http://jsfiddle.net/HLr8X/
    このJavaScriptは二本指で円を描くと背景色が白から黒に変わるのですが何時も黒の状態で使いたいのです。しかし方法が分かりません。どう弄れば良いのか教えてください
    674 : Name_Not - 2014/01/08(水) 11:09:05.54 ID:??? (+66,+29,-68)
    >>646,673
    こうゆう質問する人ってどんな調べ方してるんだろ?
    大抵の入門書には書いてある内容だし、
    ネットで検索すれば一瞬で解決することなのに。
    675 : Name_Not - 2014/01/08(水) 12:30:10.34 ID:??? (+52,+29,-1)
    たしかに入門書一冊読んだ方が早いな
    676 : Name_Not - 2014/01/08(水) 15:38:15.41 ID:??? (+2,-25,-37)
    ifの条件によって文字を選択。
    その文字をinnerHTMLに代入。
    自分で答え出してるじゃん。
    677 : Name_Not - 2014/01/08(水) 16:13:19.51 ID:rZYhDrar (-20,+29,-1)
    イベントという考え方が無いんだと思う
    678 : Name_Not - 2014/01/08(水) 16:59:29.50 ID:??? (+6,-29,-40)
    >>674
    まあ今年中にはモダンブラウザではES6的に、
    {[key]:value}
    って書けるようになりますしおすし。
    きっとそう言って欲しかった人なんでしょうよ。
    679 : Name_Not - 2014/01/08(水) 17:18:59.70 ID:??? (+96,+30,-114)
    よく見たら674って俺じゃねーか
    標準的な書き方以外に書けるか書けないかなんて入門書に載ってねーから。
    入門書に書かれているのは「できること」であって「できないこと」ではない。
    できないことは問い自体が発されることが少ないのだから、検索をしても探すのは困難。
    頓珍漢な指摘してんじゃねーぞ
    680 : Name_Not - 2014/01/08(水) 17:19:33.54 ID:??? (+40,+14,+0)
    >>646
    681 : Name_Not - 2014/01/08(水) 17:48:38.51 ID:??? (+104,+29,-49)
    標準的な書き方以外でとかあとだししてんじゃねーよw
    >>646のどこに標準的な書き方以外でって書いてあるんだよ。
    明らかに、標準的な書き方すらしらない質問の仕方じゃねーか。
    682 : Name_Not - 2014/01/08(水) 17:50:42.22 ID:??? (+108,+29,-3)
    >>681
    明らかにってw
    初心者がこんな質問するわけねーだろタコ
    683 : Name_Not - 2014/01/08(水) 18:00:10.32 ID:??? (+70,+29,-42)
    >>679
    つうか前スレの359で同じ質問出てすぐ答えて貰ってるだろ
    わざとかどうかは知らないが過去数スレ分くらいは検索かけて来るのが礼儀だろ
    それすらもできてないのに偉そうにするなよ
    684 : Name_Not - 2014/01/08(水) 18:03:23.92 ID:??? (+77,+29,-79)
    >>682
    他言語経験者で、JavaScriptははじめてみたいな奴だと、
    こんな質問をする初心者はゴロゴロいるわけだが。

    obj[key]以外の方法を知りたかったんなら、
    質問文にobj[key]以外でって書くのが常識だろ。
    どうみても質問の仕方が悪いのに、何逆ギレしてんの?
    685 : Name_Not - 2014/01/08(水) 18:10:21.45 ID:??? (+70,+29,-10)
    過去数スレ検索って
    いちいちそんなことしてられるかよw
    勝手にルール設定すんな
    686 : Name_Not - 2014/01/08(水) 18:13:55.24 ID:??? (+24,-12,+2)
    >>685
    そこまで言うなら、なんでobj[key]以外の方法を知りたいのか理由を教えてくれ。
    687 : Name_Not - 2014/01/08(水) 18:22:16.74 ID:??? (+31,-29,-31)
    {key:obj}型の記述でキレイに書きたいケースがあったので。
    keyに変数を使えないのはJSの欠陥ですね
    次期ESでは解決しているそうですが
    688 : Name_Not - 2014/01/08(水) 18:30:15.66 ID:??? (+96,+29,-50)
    >>687
    現時点でスッキリ書けないとどう困るの?
    過去何年もその方法で書かれてるのに、
    今更、そんなこと聞いてどうすんの?
    ある程度経験積んでる人なら、絶対質問しない内容だと思うけど
    689 : Name_Not - 2014/01/08(水) 18:33:04.04 ID:??? (+4,-30,+0)
    現在の年、月、日、時、分、秒を取得してリアルタイムに表示するものを作りたいのですが
    ページを更新せずに秒をリアルタイムに表示させる部分がどうしても上手くいきません
    どなたかアドバイスいただけないでしょうか?

    <body>
    <p><span id="msg"></span><span id="msg2"></span><span id="msg3"></span></p>
    </body>

    var today = new Date();
    var y = today.getFullYear();
    var m = today.getMonth() +1;
    var d = today.getDate();
    var h = today.getHours();
    var minu = today.getMinutes();
    var s = today.getSeconds();
    var minutes;

    document.getElementById("msg").innerHTML = "現在" + y +"年" + m + "月" + d + "日" + h + "時" + minu + "分";
    function minutes() {
    document.getElementById("msg2").innerHTML = minu + "秒";
    setTimeout("minutes()", 1000);
    }

    document.getElementById("msg3").innerHTML = "です";
    690 : Name_Not - 2014/01/08(水) 18:39:57.90 ID:rZYhDrar (+16,+30,-42)
    >>689
    Dateオブジェクトはインスタンスを作ったら動き続ける時計じゃなくて
    ある一定の日付時刻をただ記録しているもの

    と思っていただくと、理解が早いと思う
    691 : Name_Not - 2014/01/08(水) 19:05:17.14 ID:??? (+104,+29,-22)
    >>688
    キレイなコードを書きたいのはプログラマーの本能
    A級以上に限るけど。
    D級以下の人には分からんだろね
    692 : Name_Not - 2014/01/08(水) 19:15:25.36 ID:??? (+55,+29,-45)
    >>690
    インスタンスという言葉をわかってないのですが実際に作られた値ということですよね?
    Dataオブジェクトのインスタンスは一度作られるだけだから
    秒でカウントするなら1秒に一回インスタンスを生成しなければならないということでしょうか?
    693 : Name_Not - 2014/01/08(水) 19:16:58.77 ID:rZYhDrar (-21,+26,+1)
    >>692
    醤油うこと
    694 : Name_Not - 2014/01/08(水) 19:21:13.14 ID:rZYhDrar (-9,-29,-20)
    もちょっと言うと、setTimeoutやsetIntervalは1秒毎に、ではなく
    1秒待ってだから、第二引数を1000にすると、ちょっとずつ遅れてく
    695 : Name_Not - 2014/01/08(水) 19:28:31.84 ID:??? (+51,+29,-42)
    >>694
    1秒ごとだと勘違いしてました勉強になります
    まずはインスタンスを毎回作る方法についてですが今の時点では何も浮かばないのでもう少し悩んでみます
    ありがとうございました
    696 : Name_Not - 2014/01/08(水) 20:03:38.89 ID:??? (+0,-27,-10)
    forEach内でif文使うのは非推奨って記事を見たんですが
    なぜダメなんでしょうか
    697 : Name_Not - 2014/01/08(水) 20:36:57.19 ID:??? (-25,-30,-280)
    上の方で秒をリアルタイムで表示させたいと書いた者です
    とりあえず秒にだけ的を絞って書き直してみました

    var now = new Date();
    var seconds = now.getSeconds();

    (function display () {
    document.getElementById("msg").textContent = seconds + "秒です"
    seconds = setTimeout( "display" (), 1000);
    })();

    まず、秒を表示させるというところまで書きましたがここまでは合っているでしょうか?

    ここからsetTimeoutでインスタンスを取得しようと思ったのですが
    HTMLへの描画も同じタイミングでやらなければならないとしたら
    どういう風に書けばいいのかがわかりません
    secondsを毎回取得して、HTMLへの描画のために上のように書いたのですが
    6行目でUncaught TypeError: string is not a functionとエラーが出ました
    ググってもよくわからなかったのですがstringは関数じゃないよと書いてあるような気がします

    しかしstringという文字を打った覚えはなく途方に暮れています
    よければ何かヒントをいただけないでしょうか?
    700 : Name_Not - 2014/01/08(水) 21:50:43.33 ID:??? (+59,+29,-25)
    >>697-698
    5W1Hで考えるというのは目から鱗でした
    聞いたことのない言葉もいくつかあり勉強になります

    "display"の部分はよくわからないまま書いてました
    文字列として認識されていたんですね

    このコードを完全に理解できるようにしゃぶりつくします
    ありがとうございました
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について