![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Javascriptの書き方はよく分からない素人です。
いつもソースを探してきて使っているレベルです。
やりたい内容に似たソース(▼以下)を探してきたのですが、
もともと「2枚1組の画像」を2セットずつ表示させるもので、
変更の仕方が分からないので教えていただきたいです。
さらに、「一定時間ごと」ではなく、
「ページを読み込む度」に表示を変えたいです。
(この場合全く違う書き方をすることになるのでしょうか?)
よろしくお願いします。
▼ここから-------------------
<script language="javascript"><!--
setInterval("textch()",3000);
TEXT = new Array('text0','text1','text2');
function textch() {
for(i=0; i<TEXT.length; i++){
var tmpA, tmpB, rnd;
rnd=Math.floor(Math.random() * TEXT.length);
tmpA=TEXT[i];
tmpB=TEXT[rnd];
TEXT[i]=tmpB;
TEXT[rnd]=tmpA;
}
for(j=0;j<TEXT.length;j++) {
document.getElementById(""+TEXT[j]+"").style.display = "none";
if(j == 0 || j == 1) { document.getElementById(""+TEXT[j]+"").style.display = "block"; }
}
}
//--></script>
<div id="text0"><img src="images/a.jpg" alt="A" width="410" height="168"><img src="images/b.jpg" alt="B" width="470" height="168"></div>
<div id="text1"><img src="images/c.jpg" alt="C" width="410" height="168"><img src="images/d.jpg" alt="D" width="470" height="168"></div>
<div id="text2"><img src="images/e.jpg" alt="E" width="410" height="168"><img src="images/f.jpg" alt="F" width="470" height="168"></div>
No.3ベストアンサー
- 回答日時:
No2です。
>欲を言えば、IEで一瞬すべての画像が表示されてしまうことが、
>ちょっと気になりますが
たしかにそうですね。 onload時(画面がレイアウトされてから)にスクリプトを実行しているので、その一瞬だけ表示されてしまいます。
もう少し早く消すようにスクリプトを変えてみましたが、あまり変わりはありませんでした。
画像の初期設定をCSSで非表示にしておけば、それよりは良くなると思います。
サンプルの場合だと
.rand_1, .rand_2, .rand_A {display:none;}
みたいな感じ。
No.2
- 回答日時:
少し発想は違いますが…
imgの中で「rand_」で始まるclass名が設定されたものを対象とし、同じclass名のものをセットとして処理します。
2枚1組でも、3枚1組でもかまいません。
どれか一組のみを表示し、残りは非表示となります。
以下、サンプルです。
<html>
<head>
<script type="text/javascript">
window.onload=function() {
var nam={},elm=[];j=0;
var e=document.getElementsByTagName('IMG');
for (var i=0; i<e.length; i++) {
if (e[i].className.substr(0, 5)=='rand_'){
nam[e[i].className]=1; elm[j++]=e[i];
};}
j=0; for (var ky in nam) j++;
j=Math.floor(Math.random() * j);
for (ky in nam) if (j--==0) break;
for (i=0; i<elm.length; i++){
elm[i].style.display=(elm[i].className==ky)?'block':'none';
}
}
</script>
</head>
<body>
<img class="rand_1" src="A.jpg">
<img class="rand_2" src="B.jpg">
<img class="rand_A" src="C.jpg">
<img class="rand_1" src="D.jpg">
<img class="rand_2" src="E.jpg">
</body>
</html>
望んでいる動きになりました。
欲を言えば、IEで一瞬すべての画像が表示されてしまうことが、ちょっと気になりますが、ブラウザの問題かもしれません。
ありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptでの画像切り替えを...
-
横にスクロールするだけのスラ...
-
デフォルト非表示にしたい。【t...
-
VBAでIEを動かす場合、下記の①...
-
JS:画像を繰り返しランダム読...
-
時間差で画像を動作させたいjav...
-
サムネイルにカーソルを合わせ...
-
jQueryで同じクラス名のものを...
-
JavaScriptでクレイアニメ。ち...
-
<body onload="display_image()...
-
交互に入れ替わる画像を複数配置
-
HPがFirefoxでは問題ないのに、...
-
jQueryでのドラッグアンドドロ...
-
javascriptテキストBOX色を元に...
-
jspでcssが読み込めない
-
読み込んだQRコードをフォーム...
-
MAX関数を使ってからLEFT JOIN...
-
Slick.jsのオプションrtlについて
-
eclipseでcssを使うためには?
-
JSPでの画像ファイル表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jQueryで同じクラス名のものを...
-
Javascript初心者|jQueryの.va...
-
デフォルト非表示にしたい。【t...
-
jQueryでのドラッグアンドドロ...
-
複数bxsliderをタブで切り替え...
-
画像の表示位置
-
JavaScriptでの画像切り替えを...
-
Colorboxがうまく設置できません
-
clear機能を失わずにファイルア...
-
embed要素のsrc属性の値を変更...
-
JQueryでオープニングアニメー...
-
全部のサイコロをjavascriptで...
-
一定時間で入れ替わるバナー画...
-
JQueryで画像の上で文字を動かす
-
スクリプト
-
画像拡大とともにエレメントも...
-
JavaScript スクロール制御
-
アップロードファイルの種類に...
-
サムネイルにカーソルを合わせ...
-
htmlの中のhtmlをタブで切り替え
おすすめ情報