- + JavaScript の質問用スレッド vol.117 +
482 :デフォルトの名無しさん[sage]:2014/12/20(土) 15:17:47.42 ID:G86rIizh - >>470
id="show" もあるが、setInterval が返す tid を独立させないと複数の要素に対応できない どう見てもライブラリにすれば解決する問題ではないのでここで継続質問していい が、現象が発生するコード(複数並べた場合のコード)を http://jsfiddle.net/ にUPした方が回答しやすい(やったやらない議論が無駄)
|
- + JavaScript の質問用スレッド vol.117 +
489 :デフォルトの名無しさん[sage]:2014/12/20(土) 15:38:27.10 ID:G86rIizh - >>485
jsfiddleはこう使う(体裁を整えただけなので正常動作しない) http://jsfiddle.net/uab9qg90/2/ id="show" が重複しているのが結局直ってないな また、JavaScriptのグローバル変数も衝突しているので正常動作するはずがない コピペして増やせば正常動作するだろうという安易な発想は捨てたほうがいい ・そもそも、function Over 等は共有できるのだから多重定義する意味はないだろう。event.target で対象のimg要素を取得し、srcプロパティの画像ファイル名から数値をインクリメントする処理を増やせばいい ・tid はクロージャに閉じ込めるか、配列化して衝突を避ける これで解決できると思う
|
- + JavaScript の質問用スレッド vol.117 +
492 :デフォルトの名無しさん[sage]:2014/12/20(土) 15:55:34.70 ID:G86rIizh - >>490
・id="show" の重複を避けるのはHTMLの分野 ・グローバル変数の衝突はJavaScriptの分野 どちらも基礎知識に分類されるので基礎からみっちり勉強したほうがいいように思う そうしないと今回は解決したとしても、また別の場面ではまるのは間違いない
|
- + JavaScript の質問用スレッド vol.117 +
498 :デフォルトの名無しさん[sage]:2014/12/20(土) 16:23:43.37 ID:G86rIizh - >>496
参考書としてはこの辺りを勧めておく Amazon.co.jp: DOM Scripting 標準ガイドブック ~やさしく学ぶ、JavaScriptとDOMによるWebデザイン~ (Web Designing BOOKS): Jeremy Keith, 中村 享介, 吉川 典秀: 本 http://www.amazon.co.jp/dp/4839922373 Amazon.co.jp: WebクリエイティブのためのDOM Scripting (Web Designing Books): 中村享介: 本 http://www.amazon.co.jp/dp/4839922268 jQueryはもっと後でいい JavaScriptだけで書けるようになってからjQueryに手をつけないと、質の低いサンプルコードのコピペプログラミングになる 例えば、eventオブジェクトを活用したjQueryコードはほぼ見ないが、eventオブジェクトは addEventListener に慣れ親しんだ者なら一般的なものだ JavaScriptだけで書けるようになってこそライブラリの選択肢の幅が広がる
|