• ベストアンサー

マウスオーバー時の文字サイズ

テキスト文にマウスを合わせると指定したポイントに文字列を表すようにしたいです。 -------------------------------------- <SCRIPT language="JavaScript"> <!-- msg=new Array(); msg[0]=""; msg[1]="こんにちは"; function Msg(index){ if(document.all){ box.innerHTML = msg[index]; }else if(document.layers){ document.box.document.open(); document.box.document.write(msg[index]); document.box.document.close(); } } //--> </SCRIPT> <DIV id="box" style="position:absolute;top:250;left:350;"></DIV> <a href="http://abc.html" target="_blank" onMouseOver="Msg(1)" onMouseOut="Msg(0)">あいさつ</a> ------------------------------------ 上記の文章はどこかのサイトにある構文をコピペ、参考にさせていただいたものです。 これで一応表示されるのですが、 このとき、表示される「こんにちは」の文字サイズ、色を指定することは出来ますでしょうか? また、座標を指定していますが、ブラウザーやOS、解像度などの違いが表示に影響することはありませんでしょうか?

  • ytj
  • お礼率44% (100/223)

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

  • ベストアンサー
  • taseki
  • ベストアンサー率66% (155/233)
回答No.2

すべてのメッセージに同じ色やサイズを指定するなら <DIV id="box" style="position:absolute;top:250;left:350;"></DIV> を <DIV id="box" style="color:#00FF00;font-size:18pt;~"></DIV> などのようにできます。 メッセージ別ならANo.1の方のおっしゃる方法で可能ですが、一応fontタグやbタグは「非推奨タグ」なので、 msg[1]="<span style='color:#00FF00;font-size:18pt;'>こんにちは</span>"; としたほうがいいです。 > 座標を指定していますが、ブラウザーやOS、解像度などの違いが表示に影響することはありませんでしょうか? まず書き方として style="position:absolute;top:250;left:350;" は正しくないので、 style="position:absolute;top:250px;left:350px;" と書きましょう(単位をつけて)。 で、ブラウザやOSによる違いは、スタイルへの対応の違い、解像度の違いは、実質的なウィンドウサイズが違うため、ノートパソコンなどを考慮して、なるべくページ全体の横幅を800px(実際は760~780pxぐらい)以内にしたほうが無難です。

ytj
質問者

お礼

大変参考になりました。もうバッチリで、気持ちの良いくらいすっきりしました! ありがとうございます!

その他の回答 (1)

  • ept63
  • ベストアンサー率21% (54/247)
回答No.1

この場合ですと簡単にmsg[1]="<font color='#ddeedd'>test</font color>" で可能です。 その他<b>などのタグはほとんど使用可能ですね。 <marquee>も使えましたよ。

ytj
質問者

お礼

<marquee>にも使えると言うのはおもわぬ副産物です。 これは使えそうなので参考にさせていただき、取り入れてみたいと思います。 ありがとうございました。

関連するQ&A

  • このタグの文字サイズを大きくしたいのですが、、、

    <head> <title>1文字づつ画面上に出力する</title> <script language="JavaScript"><!-- str = "Sample text...(^^)/ By KaZuhiro FuRuhata"; count = 0; function setText1() { if (count > str.length) return; count++; txt = str.substring(0,count); if (document.all) document.all["outText"].innerHTML = txt; if (document.layers) { document.layers["outText"].document.open(); document.layers["outText"].document.write(txt); document.layers["outText"].document.close(); } setTimeout("setText1()",100); } // --></script> </head> <body> <a href="javaScript:setText1()">出力開始</a> <div id="outText" style="position:absolute;top:50px;left:5px;"></div> </body>

  • JavaScriptのことで・・・

    <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- msg=new Array(); msg[0]=""; msg[1]="<TABLE boder=0 bgcolor='#ffffcc'><TR><TD><FONT size=-1>トップページへ</FONT></TD></TR></TABLE>"; msg[2]="<TABLE boder=0 bgcolor='#ffffcc'><TR><TD><FONT size=-1>img1.gif</FONT></TD></TR></TABLE>"; function Msg(x,y,index){ if(navigator.userAgent.indexOf("MSIE 4.")>=0){ box.innerHTML = msg[index]; box.style.left=x+10; box.style.top=y+10; }else if(navigator.userAgent.indexOf("MSIE 5.")>=0 || navigator.userAgent.indexOf("MSIE 6.")>=0){ box.innerHTML = msg[index]; box.style.left=document.body.scrollLeft+x+10; box.style.top=document.body.scrollTop+y+10; }else if(document.layers){ document.box.document.open(); document.box.document.write(msg[index]); document.box.document.close(); document.box.left=x+10; document.box.top=y+10; } } //--> </SCRIPT> </HEAD> <BODY> <DIV id="box" style="position:absolute;"></DIV> <BR> <A href="../index.htm" onMouseOver="Msg(event.x,event.y,1)" onMouseOut="Msg(event.x,event.y,0)">トップページへ</A><BR> <BR> <A href="#" onMouseOver="Msg(event.x,event.y,2)" onMouseOut="Msg(event.x,event.y,0)"><IMG src="img1.gif" border=0></A> </BODY> </HTML> と上のJavaScriptのことなんですが、上はポップアップで説明を表示のやつなんですが、どうもどこに何を入れたらいいか分かりません。 画像のポップアップなどに使いたいのですが、どこに画像のURLを入れたらいいかが分かりません。どこに表示させる説明を書いたらいいか分かりません。そのサイトを見てコピーしてもってきたのですが、説明がそのサイトに ないから質問させていただきました。ちなみに見つけたサイトはこちらです。↓ http://www.sumnet.ne.jp/domp/jsbs/の http://www.sumnet.ne.jp/domp/jsbs/kaisetsu/page9.htmです。 回答お願いします。

  • 文字を一文字ずつ表示

    JavaScriptで文字を一文字ずつ表示するサンプルを見つけ、使おうとしたところdocument.allが使われていた為、ネスケで対応できない事が分かりました。ネスケ4.7で対応するようにするにはどのように変えたらいいのか教えて頂きたく宜しくお願いいたします。 <SCRIPT Language="JavaScript"> <!-- var msg="Welcome!!"; i=0; function Start(){ if(i<=msg.length){ if(document.all){ myText.innerHTML = msg.substring(0,i); }else if(document.layers){ document.myText.document.open(); document.myText.document.write(msg.substring(0,i)); document.myText.document.close(); } i=++i; setTimeout("Start()",200); }else{ i=0; setTimeout("Start()",1000); } } // --> </SCRIPT> </HEAD> <BODY onLoad="Start()"> <DIV id="myText"></DIV> </BODY> 宜しくお願い致します。

  • webサイトで文字にマウスを重ねた時に文章を表示させたい

    ウェブサイトで、JavaScriptを使用し、「挨拶」の文字にマウスを重ねた時、「こんばんは。」と表示されるようにしたいのですが、上手くいきません。 下記は私が記述したソースになります。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー <html> <head> <title>テスト</title> <script language="JavaScript"> <!--//レイヤー表示 function Lay_View(name,sw) { if (document.all) { //IE用 document.all[name].style.visibility=sw; } else if (document.layers) { //NC用 document.layers[name].visibility=sw; } } //--> </script> </head> <body ONLOAD="preloadImages();"> <!-- 表示するレイヤー --> <div id="link2" style="position:absolute; width:600px; height:80px; z- index:1; left: 80px; top: 600px; visibility: hidden"> こんばんは。</div> <!-- ここまで --> <a href="http://www.geocities.co.jp/Milkyway/1958/" onMouseOver="Lay_View('link2','visible');Lay_View('linka','hidden');" onMouseOut="Lay_View('link2','hidden');Lay_View('linka','visible');" > 挨拶</a> </body> </html> ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー この場合IEでは、ちゃんと表示されるのですが、Firefox等で見た場合、何も表示されません。どうすれば、他のwebブラウザにも対応できるのでしょうか? JavaScriptは初心者なので、修正すべき場所とコードを詳しく教えて頂けると助かります。よろしくお願い致します。

  • ネットスケープ6以上で表示できるようにしたい

    N6以上で動作しないのです。 どなたか動作する書き方を教えて下さい。 お願いします。 <STYLE TYPE="text/css"> <!-- #links0 { position:absolute; left:430;top:75; font-size:10pt; z-index:2 ;} .lays { position:absolute; left:50;top:350; width:250;height:200; clip:rect(0,250,200,0); font-size:10pt; line-height:150%; text-align:center; z-index:0 ;} //--> </STYLE> <SCRIPT LANGUAGE="JavaScript"> <!-- function setBGCOLOR(layName,color){  if(document.layers)document.layers[layName].bgColor=color  if(document.all)document.all(layName).style.backgroundColor=color } function zindexLAYER(layName,zindex){  if(document.layers)document.layers[layName].zIndex=zindex  if(document.all)document.all(layName).style.zIndex=zindex } function c02ini(){  setBGCOLOR('msg1','#d8bfd8')  setBGCOLOR('msg2','#f5deb3') } function swtOnZ(layName){  zindexLAYER('msg1',0);zindexLAYER('msg2',0)  zindexLAYER(layName,2) } //--> </SCRIPT> <BODY onLoad="c02ini()"> <DIV ID="links0">  <A href="Page1.html" onmouseover="swtOnZ('msg1')"><IMG class="vmid" src="top1.gif" width="77" height="78" border="0">Page1</A><BR> <A href="Page2.html" onmouseover="swtOnZ('msg2')"><IMG class="vmid" src="top2.gif" width="77" height="78" border="0">Page2</A><BR> </DIV> <DIV CLASS="lays" ID="msg1"> <BR>Page1説明 </DIV> <DIV CLASS="lays" ID="msg2"> <BR>Page2説明 </DIV>

  • リンクにマウスオーバーで指定の場所に文字や画像など

    リンクにマウスオーバーすると、指定した場所に文字とか画像とかを表示させたいのです。 リンクページで、バナーに触れると、上の辺りにあった空白部分(テキストボックスでもなんでもいいですし空白じゃなくてもいいです)の中に、 バナーと管理人名、説明etc...と説明が出るようにしたいです。 わかりにくくて申し訳ないです。 今まで、HEAD内に <script language="JavaScript"> <!-- function sp(msg){ if(msg==""){linkinfo.innerHTML="..."; }else{linkinfo.innerHTML=msg;}} //--> </script> と入力し、適当なテキストエリア <p><textarea width="300" height="70" id="linkinfo"></textarea></p> とかを表示させ、リンクのaの中に onMouseOver=sp("説明1"); onMouseOut=sp("マウスを離れた時の説明(基本的には説明1と同じ内容ですが)"); を入れて、 リンク(画像も文字も)触れると、テキストエリアに説明1やらが出てくる方法を使っていました。 しかし、テキストエリアはタグが使えないので、画像の表示ができなくて… インラインフレームはあまり使いたくないのですが、他に方法がなかったらインラインフレームでこんな感じに表示できるタグを教えて下さい。 ちなみに、「今まで、HAD内に~」のサンプルはこちらです。→http://www49.atpages.jp/kstr/mmm.html

  • イベントバブル、マウスオーバーなどに関して

    http://okwave.jp/qa/q6681276.html に関連しますが divの中に、p、ulが同列にあり div領域からmouseoutしたらイベントが起きるようにしたいと思っています。 イベントは親要素に伝播するということなので event.cancelBubble = true; window.event.cancelBubble=true; をp,ulのイベントに入れました。 又、各要素のマウス状態の履歴をテーブルに残してみました(下にソース)。 (マウスアウトしたら「x」、オーバーで「o」) その結果、 バブリング防止策を講じたため pまたはulのマウスアウトはdivに伝わっていません(ただしFirefoxではダメ?)。 ところがよく見ると div→p div→ul と移動する際、div内ではありますが divは一旦マウスアウトしてから再びマウスオーバーとなっているようです。 まず、ここまでの理解は間違っていないでしょうか? そして、境界線をまたぐ際、マウスアウトになるのはどうにもならないのでしょうか? 基本的な質問で申し訳ありませんが、よろしくお願いします。 --------------------------------------------------------------------------------------------- <script style="text/javascript"> function divOn() { document.getElementById('atDiv').innerHTML=document.getElementById('atDiv').innerHTML+'o'; } function divOff() { document.getElementById('atDiv').innerHTML=document.getElementById('atDiv').innerHTML+'x'; } function pOn() { document.getElementById('atP').innerHTML=document.getElementById('atP').innerHTML+'o'; } function pOff() { document.getElementById('atP').innerHTML=document.getElementById('atP').innerHTML+'x'; } function ulOn() { document.getElementById('atUl').innerHTML=document.getElementById('atUl').innerHTML+'o'; } function ulOff() { document.getElementById('atUl').innerHTML=document.getElementById('atUl').innerHTML+'x'; } function stopBubbling() { event.cancelBubble=true; stopPropagation=true; } </script> <div onMouseover="divOn();" onMouseout="divOff();" style="background:#fee;padding:1em;height:300px;">div <p onMouseover="pOn();" onMouseout="stopBubbling();pOff();" style="background:#efe;height:100px;">p</p> <ul onMouseover="ulOn();" onMouseout="stopBubbling();ulOff();" style=";background:#eef;height:100px;"> <li><a>li</a></li> <li><a>li</a></li> </ul> </div> <table border="1"> <thead> <tr> <th>div</th> <th>p</th> <th>ul</th> </tr> </thead> <tbody> <tr> <td id="atDiv"><br /></td> <td id="atP"><br/></td> <td id="atUl"><br/></td> </tr> </tbody> </table>

  • MacIEやOperaでも動作させたい

    MacIEやOperaでも動作させたいのですが、わからないのです。宜しくお願いします。 <HEAD> <STYLE TYPE=\"text/css\"> <!-- #links0 { position:absolute; left:430;top:35; z-index:2 ;} .lays { position:absolute; left:70;top:380; width:200;height:160; clip:rect(0,200,160,0); line-height:150%; text-align:center; z-index:0 ;} //--> </STYLE> <SCRIPT LANGUAGE=\"JavaScript\"> <!-- function setBGCOLOR(layName,color){ if(document.getElementById){window.document.getElementById(layName).style.backgroundColor=color;} else{document.layers[layName].bgColor=color;} } function zindexLAYER(layName,zindex){ zindex = zindex - 0; if(document.getElementById){window.document.getElementById(layName).style.zIndex=zindex;} else{document.layers[layName].zIndex=zindex;} } function c02ini(){  setBGCOLOR(\'msg1\',\'#decdce\')  setBGCOLOR(\'msg2\',\'#decdce\') } function swtOnZ(layName){  zindexLAYER(\'msg1\',0);zindexLAYER(\'msg2\',0)  zindexLAYER(layName,2) } //--> </SCRIPT> </HEAD> <BODY onload=\"c02ini()\" text=\"#522c29\"> <DIV ID=\"links0\"> <A href=\"1.html\" onmouseover=\"swtOnZ (\'msg1\')\">1</A><BR> <P><A href=\"2.html\" onmouseover=\"swtOnZ (\'msg2\')\">2</A><BR> </DIV> <DIV CLASS=\"lays\" ID=\"msg1\"> <FONT>1</FONT> </DIV> <DIV CLASS=\"lays\" ID=\"msg2\"> <FONT>2</FONT> </DIV> </BODY>

  • マウスオンで説明文をページの真ん中に表示させたい!

    よろしくお願いします。 http://www4.ocn.ne.jp/~tomotan/tagpractice.html (↑)このサイトで <HTML> <HEAD> <SCRIPT><!-- function show(object) { if (document.layers && document.layers[object] != null) document.layers[object].visibility = 'visible'; else if (document.all) document.all[object].style.visibility = 'visible'; } function hide(object) { if (document.layers && document.layers[object] != null) document.layers[object].visibility = 'hidden'; else if (document.all) document.all[object].style.visibility = 'hidden'; } //--></SCRIPT> <STYLE><!-- .myStyle { position: absolute; visibility:hidden; top:150; left:300; } //--></STYLE> </HEAD> <BODY> <A HREF="#" onMouseover="show('myLayer1')" onMouseout="hide('myLayer1')">ここにマウス</A> <DIV ID="myLayer1" CLASS="myStyle"> Hello!! </DIV> </BODY> </HTML> を表示させると、「Hello!」の文字が「テキスト」の右側に表示されます。 そうじゃなくて、「Hello!」の右側にリンクを箇条書きに書き込んでいきたいんです。 で、リンクにマウスを乗せると左側にリンク先の説明が表示される・・・というふうにしたいんです。 お願いしますm(__)m

  • 初期画像にレイヤーが出てしまう

    HPにレイヤー設定をしたところ、画像を開けるとすぐレイヤーが出てしまいます。しかし、その画像でマウスを重ねたり外したりすれば、問題なく作動します。その後、HPを開けると、また最初だけレイヤーが表示されてしまいます。どのようにしたら、最初の画面で表示されないようになるでしょうか?よろしくお願い致します。 次のように設定しています。 <script language="JavaScript"> <!--//レイヤー表示 function Lay_View(name,sw) { if (document.all) { //IE用 document.all[name].style.visibility=sw; } else if (document.layers) { //NC用 document.layers[name].visibility=sw; } } //--> </script> <div id="ABC" style="position:absolute; width:350px; height:30px; z-index:1; left: 80px; top: 210px">あいうえお</div> <a href="index1.html"onMouseOver="Lay_View('ABC','visible');"onMouseOut="Lay_View('ABC','hidden');">AIUEO</a> これだけです。何か足りないでしょうか?