HTMLのカレンダーを改変する方法

このQ&Aのポイント
  • HTMLのカレンダーのデザインを変更する方法について質問です。
  • 特定の部分を中央に表示し、他の部分を左右に配置したいです。
  • 具体的には、カレンダーの「2014年5月」を中央に配置し、「<prev」を左端、「next>」を右端にしたいです。
回答を見る
  • ベストアンサー

HTMLに詳しい方に質問です。。

http://lab.synck.com/Cal3.0/ このページを改変したいのですが、質問がございます。 カレンダーの「2014年5月」部分を真ん中にし、「>prev」を左端、「<next」を右端という位置にしたいです。 「-」部分は削除します。 この方法が分かりません。CSSとjsどちらをいじるのでしょうか? jsのコードの calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' value='&lt; prev' />"; という部分からが、該当のソースだということは分かっています。 この問題についておわかりの方いらっしゃいましたらお願いします。

noname#203427
noname#203427
  • HTML
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • kao03
  • ベストアンサー率87% (7/8)
回答No.3

ホームページ拝見致しました。 修正箇所はいくつかありますので、順を追って書かせていただきます。 ■CSS (cal.css) ------------- #36行目 div.cal_wrapper table.cal tr th p { float: left; padding: 5px; margin: 0px; color: #666; font-size: 12px; } ↓以下のように修正します。 div.cal_wrapper table.cal tr th p { /* float: left; */ text-align:center; padding: 5px; margin: 0px; color: #666; font-size: 12px; } ※floatをコメントアウトして、中央揃えのtext-align:centerを入れいます。 ------------- #46行目 div.cal_wrapper table.cal tr th div.cal_ui { float: right; } ↓以下のように修正します。 div.cal_wrapper table.cal tr th div.cal_ui { /*float: right;*/ } ※floatをコメントアウト ------------- ■JS(cal.js) 145行目 var calHTML = "<table border='0' cellspacing='0' cellpadding='0' class='cal'>"; calHTML += "<tr><th colspan='7'>"; calHTML += "<div class='cal_ui'>"; calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' value='&lt; prev' />"; calHTML += "<input type='button' onclick='cal_move("+calId+",null);' value='-' />"; calHTML += "<input type='button' onclick='cal_move("+calId+",1);' value='next &gt;' />"; calHTML += "</div>"; calHTML += "<p>" + year + "年" + calObj.monthName[month] + "</p></th></tr>"; ↓この部分をまるまる修正しました。 まず既存のものはコメントアウト化 /* var calHTML = "<table border='0' cellspacing='0' cellpadding='0' class='cal'>"; calHTML += "<tr><th colspan='7'>"; calHTML += "<div class='cal_ui'>"; calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' value='&lt; prev' />"; calHTML += "<input type='button' onclick='cal_move("+calId+",null);' value='-' />"; calHTML += "<input type='button' onclick='cal_move("+calId+",1);' value='next &gt;' />"; calHTML += "</div>"; calHTML += "<p>" + year + "年" + calObj.monthName[month] + "</p></th></tr>"; */ /* 以下に書き換えました。 */ var calHTML = "<table border='0' cellspacing='0' cellpadding='0' class='cal'>"; calHTML += "<tr>"; calHTML += "<th>"; calHTML += "<div class='cal_ui'>"; calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' value='&lt; prev' />"; calHTML += "</div>"; calHTML += "</th>"; calHTML += "<th colspan='5'>"; calHTML += "<p>" + year + "年" + calObj.monthName[month] + "</p>"; calHTML += "</th>"; calHTML += "<th>"; calHTML += "<div class='cal_ui'>"; calHTML += "<input type='button' onclick='cal_move("+calId+",1);' value='next &gt;' />"; calHTML += "</div>"; calHTML += "</th>"; ------------- 以上です。 やったことは、 Javascriptの書き出しを <th>prev</th> <th colspan='5'>年月日</th> <th>next</th> に書き換えて、CSSで指定されていたfloatを無効化。 といった具合です。 ご参考までに。

noname#203427
質問者

お礼

大変詳しくご説明いただき、ありがとうございました。助かりました。

その他の回答 (2)

回答No.2

jsを下記のように書き換えて、後はCSSでスタイルを整えましょう。 calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' value='&lt; prev' />"; calHTML += "<input type='button' onclick='cal_move("+calId+",null);' value='-' />"; calHTML += "<input type='button' onclick='cal_move("+calId+",1);' value='next &gt;' />"; calHTML += "</div>"; calHTML += "<p>" + year + "年" + calObj.monthName[month] + "</p></th></tr>"; ↓ calHTML += "<input type='button' onclick='cal_move("+calId+",-1);' value='&lt; prev' />"; calHTML += "<p>" + year + "年" + calObj.monthName[month] + "</p>"; calHTML += "<input type='button' onclick='cal_move("+calId+",1);' value='next &gt;' />"; calHTML += "</div>"; calHTML += "</th></tr>";

noname#203427
質問者

お礼

jsの詳細、ありがとうございました!!

回答No.1

jsです。 それぞれのブロックなどにidも降られてませんし、HTMLの構造上、 cssでは制御できません。

noname#203427
質問者

お礼

ご回答ありがとうございました。

関連するQ&A

  • HTMLに詳しい方に質問です。

    http://lab.synck.com/Cal3.0/ このページについてですが、「予定表」の部分をカレンダーの下ではなく、右隣に配置したいです。 そのためには、HTMLのコードをどのように書き換えれば良いでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML
  • HTMLで日にちの様式を変更したい

    http://lab.synck.com/Cal3.0/ このページを改変したいのですが、質問がございます。 現況ですと予定表内の左側には日しか記載されていませんが、 こちらを「H26/05/01」のような形式にしたいです。 方法をご教授願えませんでしょうか? 丸投げで大変恐れ入りますが、よろしくお願いします。

    • ベストアンサー
    • HTML
  • javascriptのオンマウスについて

    http://lab.synck.com/Cal3.0/ 上記URLのカレンダーですが、日付にマウスポインタをあてるとテキストが日付の真下に表示されますよね。オンマウスの記述がキーなのだと思うのですが、 これを真下に表示ではなくてHTMLでテキストボックスを1行作って、作ったテキストボックスに表示させるようにするにはどのようにすればいいでしょうか。 または、真下表示ではなく、日付の1個したの段の1番左端からの表示でもかまいません。 まったくわからず困っています。。

  • JAVAのプログラムとCSSの組み合わせ

    http://lab.synck.com/Cal3.0/ 上記URLのソースを確認するとカレンダーがJAVAとCSSで制御されて作動されているかと思います。 これの仕組みを独学で勉強しているのですが1点、カレンダーの幅はどこで制御されているのかがわかりません。カレンダー自身のサイズを小さく(横幅100ピクセルが理想)にしようと思ったら、CSSを修正するのかJAVAを修正するのか?またそれのどの部分を修正したらいいのかわかりますでしょうか? プログラムは著作権フリー配布ということでしたので、URL掲載させていただきました。

  • js.ファイルの呼び込み

    http://village.infoweb.ne.jp/~tkiku/wsp/java/java39.html の万年カレンダーですが、このソースを外部ファイルとして「cal.js」と作成。HTMLのhed内に <script type="text/javascript" src="script/cal.js"></script>を記述。<body>内で <form><input type="button" value="カレンダ表示" onclick="dispkoyomi()"></form>とボタンで呼び出すには、またはテキストでの呼び出しはどのようにしたらいいのでしょうか?。

  • WEB用カレンダーの不具合?について

    似たような質問をいっぱいしてますが、もう少しで理想のカレンダーができそうなので。。。よろしくお願いします。 http://lab.synck.com/Cal3.0/ 上記カレンダー、IE以外(クロームやfirefox)では日付にマウスをあてると、行事予定が表示されて、正常に作動するようになっていると思います。なぜ、IEでは正常に作動しないのか探してたら if(navigator.userAgent.indexOf('MSIE') == -1)の記述があったので、この行を削除してみました。 すると、今度はIEでも日付にマウスを当てたら行事が表示されるようにはなったのですが、表示される文章がカレンダーの後ろに隠れてしまい、気持わるいことになってしまっています。。。 (たとえば、5月3日らへんとか。。) どなたか、IEでも正常に表示させる方法を教えてくれませんでしょうか。 お願いします。ちなみに僕が使っているIEはバージョン8です。

  • JSを使ったカレンダーの不具合を解消したい。

    http://lab.synck.com/Cal3.0/ 上記カレンダーを会社HPに実装してみました。できばえは満足してるのですが どうやらIE6で見ると、イベントが後ろに隠れてしまって見えないぞ。と指摘を頂きました。 僕自信のブラウザはIE7なので、正常にイベントが前に出て問題なく使えます。 どうやら、IE7以上の人はOKで、IE6以下の人はカレンダーがうまく作動しないようです。 このカレンダー、かなり気に入ってます。どうかIE6でも使えるようにするにはどうカスタマイズしたらいいでしょうか? ご参考になるかわかりませんが、環境は <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">これを使っています。

  • <input> のbuttonで関数を実行したい

    <input> 要素のbuttonを押すと※の処理が実行されるようにするには、どの部分を直すべきかご指摘いただけませんか。 よろしくお願いします。 -aaa.html <html> <!DOCTYPE> <body> <input id="ccc" type="button" value="スタート"> <script src="bbb.js"></script> </body> </html> -bbb.js document.getElementById("ccc").onclick = function buttonClick(){※}

  • onClickで関数呼出し後に、結果に応じてsubmitを実行する方法

    JavaScriptで、 function func() {  if (a==0) {   alert("処理しない");   return false;  }  return true; } と、a=0ならfalseを返し、それ以外ならtrueを返す関数を定義しています。 そして、FORMタグで <FORM NAME="FormName" ACTION="next.html"> <INPUT TYPE="button" VALUE="next" NAME="button1" onClick="return func();submit();"> </FORM> と記述しています。 要は、ボタンを押下した際にfunc関数がtrueを返せば、next.htmlに 遷移させたいのですが、上記記述では、遷移しません・・・ onClick部分にonClick="return func(),submit();"と記述した場合、 func関数の実行結果がtrueでもfalseでも遷移してしまいます。 そこで、なんとなくonClick="return func()&&submit();"と記述してみたところ、 func関数がtrueの時のみうまく遷移するようになりました。 これは偶然そう動作しているのでしょうか、それとも上記は正しい記述方法なのでしょうか? 正しい記述方法ならいいのですが、上記以外に正式な記述方法があれば 教えていただけないでしょうか? ※TYPE="submit"にすればいいとは思うのですが、buttonで実現したいと 考えております。

  • WEBサイトでのスライドショーについて教えてください

    お世話になります。WEBサイトでクリックするたびに画像が変わるスライドショーを他のページなどを参考にfunction prev()等を使って設置しました。 具体的にはこんな感じです <script type="text/javascript"> <!-- var n = 0; var m = 0; var m= new Array(); img[m++] = "010.jpg"; img[m++] = "011.jpg";(以下繰り返し) function prev() { if (--n < 0) { n = m - 1; } document.images['img1'].src = img[n]; } function next() { if (++n == m) { n = 0; } document.images['img1'].src = img[n]; } // --> </script> <img name="img1" src="001.jpg" alt=""> <form action="#"> <input type="button" value="▼" onclick="prev()"><input type="button" value="▲" onclick="next()"> </form> これは順調に稼動しました。 その後同じページ(上記の下側)に、最初の画像を「201.jpg」、スライドショーで表示させたい画像を「210.jpg」「211.jpg」に変更して同じものを記述しました。画面上はきちんと表示されるのですが下に設置したほうの▼▲をクリックすると「201.jpg」が「210.jpg」に変わるのではなく、上に設置した「010.jpg」「011.jpg」に画像が変わります。onclick="prev()"が同じなのがいけないのかと思うのですが、上と下を区別する方法がわかりませんでした。 初心者のような質問で恐縮ですがご存知の方よろしくお願いします。