• 締切済み

javascriptで質問

javascript初心者です。 日付で自動的に変わるようなメニューが作りたいのですが もっとシンプルに簡潔にできますか? また、開いているページのタブの色を他と変えたいのですができますか? 以下ソース↓ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>スクリプトテスト</title> <style type="text/css"> .menu li{ list-style-type:none; float:left; border:solid 1px #666666; } .menu li a{ padding:5px; background:#eeeeee; display:block; } .menu li a:hover{ background:#ffffff; } </style> <script type="text/javascript"> <!-- var day01 = new Date(); var year01 = day01.getFullYear(); //年 var mon01 = day01.getMonth() + 1; //月 var date01 = day01.getDate(); //日 var day02 = new Date(); day02.setDate( day02.getDate()+1 ); var year02 = day02.getFullYear(); //年 var mon02 = day02.getMonth() + 1; //月 var date02 = day02.getDate(); //日 var day03 = new Date(); day03.setDate( day03.getDate()+2 ); var year03 = day03.getFullYear(); //年 var mon03 = day03.getMonth() + 1; //月 var date03 = day03.getDate(); //日 var day04 = new Date(); day04.setDate( day04.getDate()+3 ); var year04 = day04.getFullYear(); //年 var mon04 = day04.getMonth() + 1; //月 var date04 = day04.getDate(); //日 var day05 = new Date(); day05.setDate( day05.getDate()+4 ); var year05 = day05.getFullYear(); //年 var mon05 = day05.getMonth() + 1; //月 var date05 = day05.getDate(); //日 var day06 = new Date(); day06.setDate( day06.getDate()+5 ); var year06 = day06.getFullYear(); //年 var mon06 = day06.getMonth() + 1; //月 var date06 = day06.getDate(); //日 var day07 = new Date(); day07.setDate( day07.getDate()+6 ); var year07 = day07.getFullYear(); //年 var mon07 = day07.getMonth() + 1; //月 var date07 = day07.getDate(); //日 // --> </script> </head> <body> <ul class="menu"> <script type="text/javascript"> <!-- document.write('<li><a href="'+year01+mon01+date01+'.html">'+mon01+'月'+date01+'日'+'</a></li>'); //--> </script> <script type="text/javascript"> <!-- document.write('<li><a href="'+year02+mon02+date02+'.html">'+mon02+'月'+date02+'日'+'</a></li>'); //--> </script> <script type="text/javascript"> <!-- document.write('<li><a href="'+year03+mon03+date03+'.html">'+mon03+'月'+date03+'日'+'</a></li>'); //--> </script> <script type="text/javascript"> <!-- document.write('<li><a href="'+year04+mon04+date04+'.html">'+mon04+'月'+date04+'日'+'</a></li>'); //--> </script> <script type="text/javascript"> <!-- document.write('<li><a href="'+year05+mon05+date05+'.html">'+mon05+'月'+date05+'日'+'</a></li>'); //--> </script> <script type="text/javascript"> <!-- document.write('<li><a href="'+year06+mon06+date06+'.html">'+mon06+'月'+date06+'日'+'</a></li>'); //--> </script> <script type="text/javascript"> <!-- document.write('<li><a href="'+year07+mon07+date07+'.html">'+mon07+'月'+date07+'日'+'</a></li>'); //--> </script> </ul> </body> </html>

  • itooo
  • お礼率45% (5/11)

みんなの回答

noname#108740
noname#108740
回答No.1

動作確認してませんが。 ---- for (var i = 0; i < 7; i++) { var date = new Date(); date.setDate(date.getDate() + i); var year = date.getFullYear(); var mon = date.getMonth() + 1; var day = date.getDate(); document.write('<li><a href="' + year + mon + day + '.html">' + mon + '月' + day + '日</a></li>'); }

関連するQ&A

  • JavaScriptでdocument.fileCreatedDate

    JavaScriptでdocument.fileCreatedDateを使おうとして <script type="text/javascript"> <!-- var date = new Date(document.fileCreatedDate); var year = date.getYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); var min = date.getMinutes(); if(year < 2000){year += 1900;} if(month < 10){month = "0" +month;} if(day < 10){day = "0" + day;} if(hour < 10){hour = "0" + hour;} if(min < 10){min = "0" + min;} document.write("作成日:" + year + "年" + month + "月" + day + "日" + hour + "時" + min + "分" + "<BR>"); //--> </script> のようなスクリプトを作ったんですが表示がおかしくなります。 Google chromeでも正常に表示できるようにしたいです。 よろしくおねがいします。

  • javascriptで任意の曜日に日をプラス

    javascriptで任意の曜日に日をプラスさせたいです。 ●外部 //日付取得 var nweek = new Array("日","月","火","水","木","金","土"); var now = new Date(); var nYear = now.getFullYear(); var nMonth = now.getMonth() + 1; var nDate = now.getDate(); var nweekjp = now.getDay(); //配送日計算 var now = new Date(); now.setDate(nDate+7); var yYear = now.getFullYear(); var yMonth = now.getMonth() + 1 ; var yDate = now.getDate(); var yweekjp = now.getDay(); ●実行タグ <script type="text/javascript">document.write(""+yYear+"/"+yMonth+"/"+yDate+" ");</script><script type="text/javascript">document.write(""+nweek[yweekjp]+"曜日 ");</script> で、配送までの日付を取得させているのですが、 土日の配送が月曜日になるため、土曜日の場合は、日付を2日追加、日曜日の場合は、1日追加としたいのですが、どうすればいいでしょうか。 調べても日付取得方法ばかりで、困っています。 ご存知でしたら教えて下さい。 お願いします。

  • 現在の日付から、1ヶ月前にするスクリプトです。

    現在の日付から、1ヶ月前にするスクリプトです。 月を「-1」すると0月になるので、「12」になるようにしたのですが、 年が「2005」のままです。同様に「2004」になるようなやりかたを教えてください。 <script language="JavaScript"> <!-- date = new Date(); mon = date.getMonth() + 0; if (mon < 1) { mon = "12"; } document.write(date.getFullYear() + "年" + mon + "月" + date.getDate() + "日"); // --> </script>

  • JavaScriptでの文字のサイズや色指定の仕方について

    ホームページの制作に取り組み、JavaScriptを学習に苦戦しています。 最終更新日の表示プログラムで下記のスクリプトがあるのですが、 表示される文字サイズの指定と色指定は、 どのようにすればよいのでしょうか?ご教示、よろしくお願いします。 <script type="text/javascript"> <!-- (function() { var update = new Date(document.lastModified); var theMonth = update.getMonth() + 1; var theDate = update.getDate(); var theYear = update.getFullYear(); document.writeln('<"●最終更新日:" + theYear + "年"+ theMonth + "月"+ theDate + "日"); })(); //end of JavaScript --> </script>

  • JavaScriptからphp関数の呼び出し

    javaScriptで1秒毎にphpの関数を呼び出しているのですが、 php側で、returnしている日時が動的に表示されません。 何がいけないのか教えて頂けますでしょうか? 色んな参考ページを見ると、phpの関数で動的に 動かせると書いてあるのですが、動的になりません。 -------------------------------------------------------- <jsphptest.htmlソース> <html> <head> <script type="text/javascript"src="jsphptest.php"></script> <script language="javascript"> <!-- function time() { //JavaScriptで日時表示 var now = new Date(); mon = now.getMonth()+1; day = now.getDate(); hou = now.getHours(); min = now.getMinutes(); sec = now.getSeconds(); year = now.getYear(); if (year < 2000) { year += 1900; } if (mon <= "9"){mon = "0" + mon;}; if (day <= "9"){day = "0" + day;}; if (hou <= "9"){hou = "0" + hou;}; if (min <= "9"){min = "0" + min;}; if (sec <= "9"){sec = "0" + sec;}; document.form1.j_tokei.value= year +"/"+ mon +"/"+ day +" "+ hou +":"+ min +":"+ sec; //PHP関数の呼び出し document.form1.p_tokei.value= php_time(); //1秒毎 setTimeout('time()',1000); } // --> </script> </head> <body onLoad="time();"> <form name="form1" mathod=post> JavaScript日時<input type="text" name="j_tokei" size=25><br> PHP日時<input type="text" name="p_tokei" size=25> </form> </body> </html> -------------------------------------------------------- <jsphptest.phpソース> <?php $str .= "function php_time(){"; $str .= "return('".date('Y-m-d H:i:s')."');"; $str .= "}"; echo $str; ?>

  • javascriptでわからない所があります。

    javascriptでわからない所があります。アドバイスお願いします。 ブログでajax feed apiを使いRSSを表示しようと思い下記のサイトのコードを貼ってみました。 サイト⇒http://www.zoezoe.net/2008/06/javascriptrssgoogle-ajax-feed.php 以下サイトのコード --------------------- <script type="text/javascript" src="http://www.google.com/jsapi?key=ABQIAAAA7_2e7OzfQnVgCZgpBhg3_RRuFDZ..."></script> <script type="text/javascript"> google.load("feeds", "1"); function initialize() { var feed = new google.feeds.Feed("http://www.zoezoe.net/atom.xml"); feed.load(function(result) { if (!result.error) { var container = document.getElementById("feed"); for (var i = 0; i < result.feed.entries.length; i++) { var entry = result.feed.entries[i]; var dd = new Date(entry.publishedDate); // now var yearNum = dd.getYear(); if (yearNum < 2000) yearNum += 1900; var date = '<li>' + yearNum + "年"+(dd.getMonth()+1)+"月"+dd.getDate()+"日 "; container.innerHTML += " " + date +"<a href='" + entry.link + "' title='" + entry.title + "'>" + entry.title + "</a></li>"; } } }); } google.setOnLoadCallback(initialize); </script> </head> <body> <ul> <div id="feed"></div> </ul> </body> --------------------- これをカスタマイズしたいのですが、以下のことができません。アドバイスお願いします。 ○表示したRSSの間に区切り線を入れたい ○日付の次を改行して    日付    タイトル のように表示したい。 ○別タブで開きたい。 一つでも分かりましたらアドバイスお願いします。 var date = '<li>' + yearNum + "年"+(dd.getMonth()+1)+"月"+dd.getDate()+"日 "; container.innerHTML += " " + date +"<a href='" + entry.link + "' title='" + entry.title + "'>" + entry.title + "</a></li>"; ↑の所をいじっても出来ませんでした。

  • 今日の日付を自動的にセレクトしたいのですが・・・。

    うまくできません。 どなたか助けていただけないでしょうか? よろしくおねがいします。 今のソースはこんな状態です。 onChange="setDate(this.form);"は4月の時に30日までとかにつかっています。 <!--最初に今日の日付を選択したい--> var date=new Date(); var year = date.getYear(); var year= (year< 2000) ? year+1900 : year; var mon=date.getMonth(); var day=date.getDate(); alert(mon); function setNow(form){ for(var i = 0;i<document.nanngatu.nanngatu.options.length;i++){ if(document.nanngatu.nanngatu.options[i].text==mon){ document.nanngatu.nanngatu.options.selectedIndex=i; break; } } } --間は省略-- <onLoad="setNow(this.form)" > <form name="nanngatu"> <select name="nanngatu" onChange="setDate(this.form);" > <option value="32">1</option> <option value="30">2</option> <option value="32">3</option> <option value="31">4</option> <option value="32">5</option> <option value="31">6</option> <option value="32">7</option> <option value="31">8</option> <option value="32">9</option> <option value="31">10</option> <option value="32">11</option> <option value="31">12</option> </select>月

  • javascriptでの大文字小文字の区別

    前に質問をし、大文字と小文字の区別があることはわかりました。そこで、日にちを出すために <script language="javascript"> <!-- mydate=new Date(); ye=mydate.getFullYear()+"年"; mo=mydate.getMonth()+1+"月"; da=mydate.getDate()+"日"; day=mydate.getDay(); day2=new Array(7); day2[0]="日";day2[1]="月";day2[2]="火"; day2[3]="水";day2[4]="木";day2[5]="金"; day2[6]="土"; document.write("<font style='font-size : 16px; color : #666666'>"); document.write("本日は"+ye+mo+da+"("+day2[day]+") "); document.write("です</font>"); //--> </script> とすることはわかったのですが、一番初めの<script language="javascript">は物によって<SCRIPT LANGUAGE="JavaScript">や<SCRIPT language="Javascript">となっていたり、年数などのyeはYeとなっていたりします。javascriptにも大文字と小文字を区別しないものがあるということですか。もしそうならどういったものがどちらでもいいのですか。

  • 今年を取得する方法はありますか?

    私は4/29が誕生日なのですが <html> <head> <title></title> <script type="text/javascript"> <!-- function msg() { var date = new Date(); var dt1 = new Date(2013, 4-1, 29); var dt2 = new Date(date.getFullYear(), date.getMonth(), date.getDate()); var days = ( dt1 - dt2 ) / 86400000; alert("誕生日まであと" + days + "日です"); } //--> </script> </head> <body> <form> <INPUT TYPE="button" VALUE="誕生日まで・・・" onClick="msg()"> </form> </body> </html> で誕生日の残りの日数を表示させてるのですが Date(2013, 4-1, 29) の2013の部分を今年を取得する方法はありますか? これは去年知ったサンプルコードなのですが その時は2012になってので2013に書き換えたのですが毎年今年を取得する方法はありますか?

  • yyyy/mm/dd(aaa) hh:mm

    http://www9.plala.or.jp/oyoyon/html/script/modified.html を参考にしているのですが、 yyyy/mm/dd(aaa) hh:mm のように、「00時00分」まで表示するにはどうすればいいでしょうか? ----------------------------------------- <script type="text/javascript"> <!-- var day = new Date(document.lastModified); var y = day.getFullYear(); var m = day.getMonth() + 1; var d = day.getDate(); var week = new Array("日", "月", "火", "水", "木", "金", "土"); var w = week[day.getDay()]; if (m < 10) m = "0" + m; // 数値が1~9の時には if (d < 10) d = "0" + d; // 0 を追加してそろえる document.write("更新日時: " + y + "/" + m + "/" + d + " (" + w + ")"); // --> </script> ----------------------------------------- ここまでできたのですが、時間の表示方法がわかりません。 コピペで作ったので、javascriptは理解できていません。 ご教授よろしくお願いします。