毎日違う画像を表示させるには

このQ&Aのポイント
  • JavaScript初心者の方が、JavaScriptを使用して毎日24時間ごとに違う画像を表示させたいと考えています。
  • IEでは画像が表示されない問題が発生しており、解決方法を求めています。
  • どなたか、おかしいところや別のJavaScriptの記述方法について教えていただけると助かります。
回答を見る
  • ベストアンサー

毎日違う画像を表示させるには

私はJavaScriptは初心者です。悩んでここに投稿させて頂きました。 JavaScriptで毎日(24時間ごとに)違う画像を表示させようと考えています。 以下を実行したのですがIEだけ画像が表示されません。 どなた様か、おかしいところ、また違うJavaScriptの記述でも構いません。 教授いただけると幸いです。 <SCRIPT LANGUAGE=javascript> <!-- var ig = new Array(); ig[1]="1.jpg"; ig[2]="2.jpg"; ig[3]="3.jpg"; ig[4]="4.jpg"; ig[5]="5.jpg"; ig[6]="6.jpg"; ig[7]="7.jpg"; function window_onload() { var d = new Date(); img = document.getElementById("img"); window.status=d.getMonth()+1 + "/"+d.getDate() + "/"+ d.getYear(); var no = d.getDate()%7; img.src=ig[no]; img.insertAdjacentHTML("afterEnd",no+":"+ig[no]); } //--> </SCRIPT> </HEAD> <BODY LANGUAGE=javascript onload="return window_onload()"> <P><img id=img></P> </BODY>

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

<script type="text/javascript">  if('undefined' !== typeof window.addEventListener)   window.addEventListener('load',img_set,false);   else if ('undefined' !== typeof window.attachEvent)   window.attachEvent('onload',img_set);  function img_set(){   var ig = [];   ig[0]="1.jpg";   ig[1]="2.jpg";   ig[2]="3.jpg";   ig[3]="4.jpg";   ig[4]="5.jpg";   ig[5]="6.jpg";   ig[6]="7.jpg";   var d = new Date();   img = document.getElementById("img");   var no = d.getDate()%7;   img.src = ig[no];  } </script> <body> <p><img id="img" alt="" src="1.jpg"></p> </body>

bits0708
質問者

お礼

yyr446様 早速のご回答ありがとうございます! IEもちゃんと動きました。 今日提出だったので本当に助かります。 ありがとうございました。

関連するQ&A

  • javascriptを使って画像を切り替える

    javascriptを使って画像(id="chengeImg")を切り替えたいと思っています。 画像はsamp0.jpg~samp4.jpgの計5枚 ただ、問題があって、 画像によって移り替わる時間を変えたいんです。(一定ではない) setTimeoutの引数(time)と画像を、どう結びつければよいのかが 分からず困っています。 それぞれ、 画像0の時は5000ミリ秒  画像1の時は4000ミリ秒 画像2の時は3000ミリ秒 … と移り変わる速度を変えたいのです。 一応、timeは配列がいいのかと配列にしてみました それが良いのかどうかも定かではないのですが… どのようにすれば、時間が一定でない画像切り替えが可能になるでしょうか? スクリプトを詳しく教えていただけると、ありがたいです。 以下、javascriptの一部を記します。 【js】ファイル(imagechange.js)------ window.onload=anime; var img=new Array(5); img[0]=new Image(); img[1]=new Image(); img[2]=new Image(); img[3]=new Image(); img[4]=new Image(); img[0].src="samp0.jpg"; img[1].src="samp1.jpg"; img[2].src="samp2.jpg"; img[3].src="samp3.jpg"; img[4].src="samp4.jpg"; //画像枚数 var num=0; //時間制御 time = new Array(5000, 4000, 3000, 3000, 3000); function anime(){  var ch = document.getElementById("changeImg");  ch.src=img[num].src;   if(num<4){     num++;   }else{    num=0;   }   setTimeout("anime()",time); } 【html】ファイル-------- <head> <title>画像切り替え</title> <script type="text/javascript" src="imagechange.js"</script> </head> <body> <p><img src="samp0.jpg" width="700" height="200" id="chengeImg"></p> </body> </html> 以上となります。 詳しい方、ぜひ教えてくださいませ。 どうぞ宜しくお願いいたします。

  • HTML5での画像表示について

    HTML5を勉強しはじめたばかりの者です。 http://nigohiroki.hatenablog.com/entry/2013/01/04/025502 ここのサイトみながらラインと四角を表示することはできたのですが、 画像を表示することができません。 <!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title>canvasApp</title> </head> <body onload="init()"> <canvas id="first" width="200" height="200"></canvas> <script type="text/javascript"> var canvas = document.getElementById('first'); var ctx = canvas.getContext('2d'); function init(){ var img = new Image(); img.src = "01.jpg"; ctx.drawImage(img, 100, 100, 200, 200); } </script> </body> </html> どこがおかしいのかさっぱりわかりません。 試しに</body>の前に<img src="01.jpg">と入れるとなぜか表示できるのですが、 外すと表示できなくなります。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 画像切り換えでTransitionをかけたい。

    フリーソースでの応用なのですが 次のJavaScriptで画像の自動切り換え表示に Transitionをかけたいのですが、知識がなくてわかりません。 アドバイスをお願いいたします。 <SCRIPT LANGUAGE="JavaScript"> <!-- var num = 1; function timer () { if(document.img.complete) { document.img.src = "photo" + num + ".jpg"; num++; if(num > 5) num = 1; } setTimeout("timer()", 1000); } //--> </SCRIPT> <SCRIPT LANGUAGE="JavaScript"> function viewSource(){ location = "view-source:" + window.location; } </SCRIPT> ----------- <BODY onload="setTimeout('timer()', 2000);"> <IMG SRC="photo1.jpg" NAME="img"> -----------

  • 効果付きの画像変化

    画像を効果を付けて変化をさせて、三回変化したら、変化を終了させたいんですけど、下の記述に何を加えたら良いか分かりましたら教えて下さい。お願いします。 img#img1 { filter: progid:DXImageTransform.Microsoft.RandomDissolve(Duration=2.0); } --> </style> <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> <script type="text/javascript"> <!-- var ie = navigator.userAgent.indexOf("MSIE "); var verIE = 0, winIE = -1; if(ie >= 0) { verIE = parseFloat(navigator.userAgent.substr(ie + 5)); winIE = navigator.userAgent.indexOf("Windows"); } var photo = new Array("aki1.jpg", "aki2.jpg", "aki3.jpg"); var i = 0; function transImage2 () { var trans = 0; var img = document.images['img1']; if(verIE >= 5.5 && winIE >= 0) { if(img.filters) trans = img.filters[0]; } if(img.complete) { i++; if(i >= photo.length) i = 0; if(trans) trans.apply(); img.src = photo[i]; if(trans) trans.play(); } setTimeout("transImage2()", 4000); } //--> </script> </head> <body onload="setTimeout('transImage2()', 4000);"> <table> <tr> <td> <img name="img1" id="img1" src="aki1.jpg" width="240" height="180" alt=""> </td> </body>

  • アクセス毎に画像を順番に表示したい

    お世話になります。 こちら(http://oshiete1.goo.ne.jp/qa2200463.html)の質問・解答を元に、 Javascriptでアクセス毎(更新毎)に5枚の画像を順番に表示する事が出来たのですが、 ブラウザの更新をしていくと、 1枚目画像→2枚目画像→3枚目画像→4枚目画像→5枚目画像→使用不可画像(undefined)となってしまいます。 5枚目画像が表示された後は、1枚目画像→2枚目画像・・・・というように ループさせたいのですが、問題点をご教授お願い致します。 なお、ソースは以下の通り記述しております。 <script type="text/javascript"> <!-- var limit = 14;//Cookieの有効期限(14日間) var imgNo = 0; //以下、画像のリスト var imgList = new Array; imgList[0] = 'img_1.jpg'; imgList[1] = 'img_2.jpg'; imgList[2] = 'img_3.jpg'; imgList[3] = 'img_4.jpg'; imgList[4] = 'img_5.jpg'; if(document.cookie.length > 0) imgNo = parseInt(document.cookie.substring(6,99)); document.write('<img src="'+imgList[imgNo]+'" alt="">'); if( ++imgNo > imgList.length) imgNo = 0; var d=new Date(); d.setTime(d.getTime()+24*limit*60*60*1000); document.cookie='imgNo='+ imgNo +' ; expires='+d.toGMTString(); //--> </script> <noscript><img src="img_1.jpg" width="500" height="500"></noscript>

  • 現在時刻をボタンクリックで表示

    下記の現在時刻を表示させるスクリプトを書いたのですが、 これをボタン <INPUT type="button" value="時刻" onClick=""> を押したら表示という形にさせたいと思っています。 どうすればよいのでしょうか?お力をお貸しください、お願いします。 _______________________ <script language=javascript> <!-- function writedate(date){ var obj=new Date(date) var y=obj.getYear() if(y<2000){y+=(y<70?2000:1900)} var m=obj.getMonth()+1 var d=obj.getDate() document.write(y+" 年 "+m+" 月 "+d+" 日 ") } writedate(new Date()) //--> </script> _______________________

  • <body onload="display_image()">が実行されません

    いつもお世話になります。 下記java scriptにて画像(4枚)をランダムに表示させるようにしたいのですが、 なぜか<body onload="display_image()">が実行されず表示されません。 これを新規で移せば実行されるのですが、作成中のHTML上ではなぜか文字色がグレーとなり実行されません。 アドバイスお願い致します。 <div align="center"><br /> <Script type="text/javascript"> <!-- var iValue, rNumber; var img1 = new Image(); var img2 = new Image(); var img3 = new Image(); var img4 = new Image(); img1 = "img/img1.jpg"; img2 = "img/img2.jpg"; img3 = "img/img3.jpg"; img4 = "img/img4.jpg"; function display_image(){ iValue = Math.random() * 4; rNumber = Math.ceil(iValue); if(rNumber==0) rNumber++; document.image1.src=eval("img" + rNumber); } //--> </Script> <body onload="display_image()"> <img src="image8" name="image8" width="700" height="400" id="image8" /></div> </Body>

  • 日替わり画像ポップアップ表示

    javascriptを使って日替わりで なんとか画像を表示する事ができましたが その画像をclickしたら拡大させるにはどうしたらいいのでしょうか 調べても日替わり画像までしかなくて 困ってます ご存知の方 教えてください。 phpや別の言語を使うのでしょうか <script type="text/javascript" language="javascript"> <!-- d=new Date(); date=d.getDate(); document.open(); document.write('<td width="230" height="219" bordercolor="#003333"><img src="img/himekuri/'); document.write(date); document.write('.jpg" alt="今日のカレンダー" width="230" height="219"></td>'); document.close(); // --> </script> 今現在の内容です

  • キャプション付きの複数画像を複数ランダムに表示

    タイトルの通りなのですが、キャプションなしは検索して分かったのですが、キャプション付きだと分かりません。どなたかお教えください。 参考にしたプログラムは、以下の通りです。 <HTML> <HEAD> <TITLE></TITLE> <script language="javascript"> <!--// var arrImage = new Array( "img/img0.jpg", "img/img1.jpg", "img/img2.jpg", "img/img3.jpg", "img/img4.jpg"); var arrLink = new Array( "01.html", "02.html", "03.html", "04.html", "05.html"); var arrFlag = new Array(999,999,999); function Show(){ document.imgNumber1.src = arrImage[StartRandom(0)]; document.links[0].href = arrLink[nTemp]; document.imgNumber2.src = arrImage[StartRandom(1)]; document.links[1].href = arrLink[nTemp]; document.imgNumber3.src = arrImage[StartRandom(2)]; document.links[2].href = arrLink[nTemp]; } var nTemp, nLoop; function StartRandom(nIndex){ nLoop = 0; nTemp = Math.round(Math.random()*(arrImage.length-1)); if (nIndex != 0){ for (nLoop = 0; nLoop < nIndex ; nLoop++){ if (nTemp == arrFlag[nLoop]){ StartRandom(nIndex); } } } arrFlag[nIndex] = nTemp; return nTemp; } //--> </script> </HEAD> <BODY onLoad="Show()"> <a href="01.html"><IMG name="imgNumber1" src="img/img1.jpg" width="170" height="170" border="0"></a> <a href="02.html"><IMG name="imgNumber2" src="img/img2.jpg" width="170" height="170" border="0"></a> <a href="03.html"><IMG name="imgNumber3" src="img/img3.jpg" width="170" height="170" border="0"></a> </BODY> </HTML> <BODY>から</BODY>のプログラムでなぜ表示できるかもよくわかっていません。(これについてはおいおい学ぶとして、できればとっかかりのヒントをお願いします) あと、スクリプトが利かない場合の表示は、<NOSCRIPT>~</NOSCRIPT>で間に変わりのものを書けばいいのでしょうか。 すいませんが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • 画像がうまく表示されないのですが

    ページを見るごとにランダムで画像が変わるタグを書き込んだのですが・・・ タグ1 <script language="JavaScript"> <!-- var simg=new Array(5); simg[0]="icon1.png"; simg[1]="icon2.png"; simg[2]="icon3.png"; simg[3]="icon4.png"; simg[4]="icon5.png"; var Myimg=Math.floor(5*Math.random()); document.write("<img src='"+simg[Myimg]+"'>"); //--> </script> タグ2 <SCRIPT LANGUAGE="JavaScript"> <!-- simg=new Array(2); simg[0]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; simg[1]="<a href="XXX" target="_blank"><img src="XXX.jpg" border=0></a>"; Myimg=Math.floor(2*Math.random()); document.write("<img src='"+simg[Myimg]+"'>"); //--> </SCRIPT> タグ1はインフォシークのサーバーでは表示されたのですが、A-RINGSのサーバーでは表示されなかったので、サーバーの問題で表示されないのでしょうか? 表示されないとしたらどのようにしたら表示されるものなのでしょうか? タグ2はどちらのサーバーも表示されませんでした。 どうしたらちゃんと表示されますでしょうか?

専門家に質問してみよう