のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,646,453人
昨日: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:??? (-7,-30,-13)
.then(func)
652 : Name_Not - 2014/01/06(月) 21:24:19.51 ID:??? (+20,-6,+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,-63)
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:??? (+23,-13,+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,-51)
>>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,-281)
上の方で秒をリアルタイムで表示させたいと書いた者です
とりあえず秒にだけ的を絞って書き直してみました

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 スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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