[過去ログ] + JavaScript の質問用スレッド vol.117 + (1001レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
472(11): デフォルトの名無しさん [sage] 2014/12/20(土) 13:58:34.92 ID:dWuhsWfV(1/11) AAS
>>470470(3): デフォルトの名無しさん [] 2014/12/20(土) 13:15:51.69 ID:z3B/t80F(1/14) AAS
失礼します。
1ページに複数の画像を並べてオンマウスで画像3枚が順番に変わるようにしたいのですが、
下記のスクリプトを2つ並べると2つ目にマウスを持って行っても1つ目の画像が変わってしまいます。
どこを変更すればいいでしょうか・・
<div><IMG SRC=".1.jpg" id="show"
onmouseover="Over()" onmouseout="Out()"></div>
<script type='text/javascript'>
var i=1;
img=new Array(3);
img[1]=".1.jpg";
img[2]=".2.jpg";
img[3]=".3.jpg";
var tid = null;
function Over() {
if (! tid) {
tid = setInterval(Switch, 500);
}
}
function Out() {
if (tid) {
clearInterval(tid);
tid = null;
}
}
function Switch() {
document.getElementById("show").src=img[i];
i=i+1;
if(i>3){i=1;}
}
</script>
マウスイベントを取って、動的に変化させるなら、
jQueryを使うのが一般的
Web制作管理板の
jQuery ライブラリ 総合質問所 vol.4 スレで聞けば?
2chスレ:hp
どういうことをやりたいのかを、具体的に書く。
そのコードをすべて捨てて、最初からやり直す
474(1): 472 [sage] 2014/12/20(土) 14:20:37.37 ID:dWuhsWfV(2/11) AAS
>>472
訂正。Web制作管理板の
jQuery ライブラリ 総合質問所 vol.4 スレではなく、
jQuery, Lodash などライブラリ関連の質問は、下記のスレへ
Web制作管理板の
JavaScript ライブラリ総合質問所 vol.4
2chスレ:hp
>>470
仮に左から、ABCという画像3枚が、どのように変わるのか?
AにマウスOverで、左からBCAになるのか?
それとも、ABCのどれかにOverで変わるのか?
BCAになった後、マウスOutで変わるのか?
BにOverで、左からCABになるのか?
それとも、ABCのどれかにOverで変わるのか?
もっと、具体的に説明して
477(1): 472 [sage] 2014/12/20(土) 14:41:09.63 ID:dWuhsWfV(3/11) AAS
ABのエリアに、同じid="show"を付けている?
ABのエリアに、showA,showBなど、違うIDを付ける
そうすれば、ソースコードの大半は、
コピーしなくても、同じものを使える
480(1): 472 [sage] 2014/12/20(土) 15:12:58.61 ID:dWuhsWfV(4/11) AAS
単に最初から、画像を並べておくだけではダメなのか?
どうしてもマウスで画像を切り替えたいのか?
見え方を動的に変えるなら、jQueryが必須。
$(セレクター).attr(属性,値); で簡単に設定できる
$(#showA).attr('src','.1.jpg');
id="showA"のタグを、src=".1.jpg"に設定する
アニメーション効果もある
slideさせつつ表示とか、fadeInOutなど
これを読む
山田祥寛(よしひろ)、翔泳社
10日でおぼえる jQuery 入門教室 第2版
484: 472 [sage] 2014/12/20(土) 15:23:17.33 ID:dWuhsWfV(5/11) AAS
>>481一般的にはそうでしょ?
まあ、jsdo.it に、
ワニワニパニックをCSSだけで作った人もいるけどw
486: 472 [sage] 2014/12/20(土) 15:30:09.12 ID:dWuhsWfV(6/11) AAS
>>482482(2): デフォルトの名無しさん [sage] 2014/12/20(土) 15:17:47.42 ID:G86rIizh(1/4) AAS
>>470
id="show" もあるが、setInterval が返す tid を独立させないと複数の要素に対応できない
どう見てもライブラリにすれば解決する問題ではないのでここで継続質問していい
が、現象が発生するコード(複数並べた場合のコード)を 外部リンク:jsfiddle.net にUPした方が回答しやすい(やったやらない議論が無駄)
それなら、tidを配列にすれば?
tid[0]は画像Aに使う
tid[1]は画像Bに使う
487(1): 472 [sage] 2014/12/20(土) 15:34:48.56 ID:dWuhsWfV(7/11) AAS
jsfiddle が難しいなら、jsdo.it でもいい
ここは日本の企業が運営している
491(1): 472 [sage] 2014/12/20(土) 15:53:58.57 ID:dWuhsWfV(8/11) AAS
>>485まず一般的に、JavaScript(JS)をHTMLの中には書かない
HTML,CSS,JSはすべて、別のファイルにした方がよい
この部分はHTML
<div><IMG SRC=".1.jpg" id="show"
onmouseover="Over()" onmouseout="Out()"></div>
<script type='text/javascript'>
この部分もHTML
</script>
それと、jsfiddle,jsdo.it でも、
ライブラリでjQueryを指定できる
495(1): 472 [sage] 2014/12/20(土) 16:05:06.95 ID:dWuhsWfV(9/11) AAS
知識0なら、JSは厳しいよ。
10日でおぼえる jQuery 入門教室 第2版では、
JSの文法は、20ページしか説明してない
それで理解できないなら、この本を読む
はじめてのJavaScript、秀和システム
掌田津耶乃(しょうだ つやの)、2013
でも、掌田の本はかなり本格的な、
プログラマー向けの本で、かなり難しい。
でもこれより簡単な本は知らない
497(1): 472 [sage] 2014/12/20(土) 16:20:55.20 ID:dWuhsWfV(10/11) AAS
HTML,CSSだけで、単に最初から、
画像を並べておくだけにした方がよいかも
君は何かの言語で、プログラミングしたことあるの?
もし無ければ、わざわざJavaScriptにはまるのはお勧めしない
JSはかなりの変態言語だから、
凝ったことをしようとすると、プロでも頭を抱えるほどw
500(1): 472 [sage] 2014/12/20(土) 16:39:12.28 ID:dWuhsWfV(11/11) AAS
もしHTML,CSSも知らないなら、この本から始める
これで何とか、HPの基礎を学べる
3日でマスター HTML5 & CSS3、鳥羽薫、2013
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.041s