• 締切済み

リンクにふれると文字表示!(クロスブラウザで)

リンクにふれると文字表示をさせたいのですが、NNでは 指定した色(黄色)と位置(中心)に表示できないので困っています。 タグは以下の通りです。 <HTML> <HEAD><META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=x-sjis"> <style type="text/css"><!-- body,tr,td {font-weight:bold; color:yellow}---></style> <TITLE></TITLE> <SCRIPT Language="JavaScript"> <!-- isIE4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appVersion).indexOf("MSIE") != -1) isNN4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appName).indexOf("Netscape")!=-1); function link_info(m) { if(m==null) m = ""; if(isIE4) { el = document.all("LINKMSG1"); el.innerHTML = m; } else if(isNN4) { lay = document.layers["PARENT_LINKMSG"].document.layers["LINKMSG1"]; lay.document.open(); lay.document.write("<font style='font-size:12pt'>"+m+"</font>"); lay.document.close(); } } //--> </SCRIPT> </HEAD> <BODY bgcolor="red" BORDER="0" topmargin="7" link="white" alink="yellow" vlink="yellow"> <center> <ilayer name="PARENT_LINKMSG" width="100%" height="16"> <layer name="LINKMSG1"></layer> <span id="LINKMSG1"></span> </ilayer> </center> <br> <center><font style="font-size: 10pt"> <a href="top.html" target="main" onMouseover="link_info('■■TOP■■')" onMouseout="link_info()">  TOP</a> | <a href="rink.html" target="main" onMouseover="link_info('■■リンク集です。■■')" onMouseout="link_info()">  リンク集</a> </font> </center> </BODY> </HTML>

  • ya-ya-
  • お礼率42% (110/256)

みんなの回答

  • xruz
  • ベストアンサー率50% (72/143)
回答No.2

NNの4.75では以下の記述で上手く表示できましたが4.5ではどうでしょうか? lay.document.write("<font style='font-size:12pt'>"+m+"</font>"); を lay.document.write("<center><font style='color:yellow; font-size:12pt'>"+m+"</font></center>"); に変えただけです。

ya-ya-
質問者

お礼

ありがとうございました。 上手くいきました。

  • rittan
  • ベストアンサー率36% (38/103)
回答No.1

ネスケには詳しくないのですが…(^_^;l||) スクリプトの else if(isNN4) { lay = document.layers["PARENT_LINKMSG"].document.layers["LINKMSG1"]; lay.document.open(); lay.document.write("<font style='font-size:12pt'>"+m+"</font>"); lay.document.close(); } この部分を下記の様に else if(isNN4) { document.LINKMSG1.document.open(); document.LINKMSG1.document.write("<font style='font-size:12pt'>"+m+"</font>"); document.LINKMSG1.document.close(); } 同時にHTMLタグの <BODY bgcolor="red" BORDER="0" topmargin="7" link="white" alink="yellow" vlink="yellow"> <center> <ilayer name="PARENT_LINKMSG" width="100%" height="16"> <layer name="LINKMSG1"></layer> <span id="LINKMSG1"></span> </ilayer> </center> この部分を下記の様に <BODY bgcolor="red" BORDER="0" topmargin="7" link="white" alink="yellow" vlink="yellow"> <div id="LINKMSG1" align="center"> </div> と変更してみてはどうでしょうか?

ya-ya-
質問者

補足

申し訳ありませんが、だめのようです。 なお、NN4.5を使用しています。

関連するQ&A

  • ブラウザが判別出来ない。

    お世話になっております。 JavaScriptの本を購入しました。 その本にブラウザ判定のスクリプトが掲載されており、それをそのままアップしたところ、私はIE6なのにIE4と判別されてしまいました。 下記がそのスクリプトです。 ちなみに、私はXPのIE6です。 このスクリプトはこれで完璧なのでしょか? また、出来ましたら、このスクリプトを試していただけたらと思うのですが・・・よろしくお願い致します。 <script language="JavaScript"> <!-- if( navigator.appVersion.charAt(0)==4){window.location.href = "nn4.html"} // NN Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "nn5.html"} // NN Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "nn6.html"} // NN Ver6 の場合 } if( navigator.appName.charAt(0)=="M"){ if( navigator.appVersion.charAt(0)==2){window.location.href = "ie2.html"} // IE Ver2 の場合 if( navigator.appVersion.charAt(0)==3){window.location.href = "ie3.html"} // IE Ver3 の場合 if( navigator.appVersion.charAt(0)==4){window.location.href = "ie4.html"} // IE Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "ie5.html"} // IE Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "ie6.html"} // IE Ver6 の場合 } //--> </script> <noscript>JavaScript を使用しています。JavaScript を有効にしてください。</noscript>

  • リンク文字にマウスを乗せると画像を表示したい。

    はじめまして。 初心者でわからないので,質問します。 よろしくお願いします。 JavaScriptで,リンク文字にマウスを乗せたときに, 空いているスペースに画像をフェードイン・フェードアウト して表示したいと考えています。 リンクが一つの場合はできたのですが, これが複数のリンクが合ったときには, どのようにすればよろしいでのしょうか? <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <link href="test.css" rel="stylesheet" type="text/css"> <title>What's New!</title> </head> <body> <script language="JavaScript"><!-- <!-- function fadein(id) { app = navigator.appName.charAt(0); ver = navigator.appVersion.charAt(0); if ((app == "M") && (ver >= 4)) { document.all.item(id).style.visibility = "hidden"; document.all.item(id).filters[0].apply(); document.all.item(id).style.visibility = "visible"; document.all.item(id).filters[0].play(); } // --> } // --></script> <IMG SRC="AAA.jpg" ID="myIMG" STYLE="filter:revealTrans(duration=3.0,Transition=12);visibility=hidden;" width="420" height="240" style="position:absolute; top:100px; left:350px;"> <div class="menu">■<a href="####" onMouseOver="fadein('myIMG')">フェード1</a></div> </body> </html>

  • JavaScriptでセンター表示で行き詰まってしまいました。

    JavaScriptでセンター表示で行き詰まってしまいました。 どうしてもできません。 現在しようとしているのが、HP全面に画像を表示させ、 そのセンターに日時時間を表示させたいと思っています。 いろいろwebで調べて、センター表示ではないのですが、 下記の形を組み込みました。 IEとsafariでは問題無いのですが、Firefoxでは、画面の左上端に表示されてしまいます。 どなたか、ご教授いただければ助かります! また常に画面のセンター表示も可能なのでしょうか? ↓↓↓↓↓head内 <script language="JavaScript"> <!--// my_width=250; x_iti=450; y_iti=350; function tokei() { a=new Date(); b=a.getFullYear(); c=a.getMonth(); d=a.getDate(); e=a.getHours(); f=a.getMinutes(); g=a.getSeconds(); if(c<10)c="0"+c; if(d<10)d="0"+d; if(e<10)e="0"+e; if(f<10)f="0"+f; if(g<10)g="0"+g; moji="<strong>"+b+"."+c+"."+d+" "+e+":"+f+":"+g+"</strong>"; if(document.layers) { document.layers["lay0"].moveTo(x_iti,y_iti); document.layers["lay0"].clip.width=my_width; document.layers["lay0"].document.open(); document.layers["lay0"].document.write(moji); document.layers["lay0"].document.close(); } else if((document.getElementById) && (!document.all)) { document.getElementById("lay0").style.pixelLeft=x_iti; document.getElementById("lay0").style.pixelTop=y_iti; document.getElementById("lay0").innerHTML=moji; document.getElementById("lay0").style.width=my_width; } else if(document.all) { document.all("lay0").style.pixelLeft=x_iti; document.all("lay0").style.pixelTop=y_iti; document.all("lay0").innerHTML=moji; document.all("lay0").style.width=my_width; } clearTimeout(g); g=setTimeout('tokei()',1000); } //--> </script> ↓↓↓↓↓body内 <body onLoad="tokei();"> <span id="lay0" style="position:absolute;visibility:visible;color:#FFFFFF"></span>

  • 文字の大きさや色の変更

    よろしくお願いします。 時刻表示のスクリプトを使いたいのですが 設置したいページにタグを貼ると 色や文字の大きさはページにセットしてあるスタイルシートで揃えることが出来るのですが 他のスクリプトと競合?を起こしてしまい動かないものが出てきました。 そこで時刻表示の部分だけインラインフレームで表示したいため色や文字の大きさなどを追加しようと思いますがエラーばかり出てしまい困っています。 スクリプトは <html> <head> </head> <body onload="tokeiFunc()"> <SCRIPT Language="JavaScript"> <!-- if (navigator.appName == "Microsoft Internet Explorer") myApp="IE"; else if (navigator.appName == "Netscape") myApp="NN"; else myApp=""; myVer = navigator.appVersion.charAt(0); function tokeiFunc(){ myD=new Date(); myTime= myD.getHours()+"時"+myD.getMinutes()+"分"; myMsg = myTime; if ((myApp == "IE") && (myVer >= 4)){ document.all("myIDdate").innerHTML = myMsg; }else if ((myApp == "NN") && (myVer >= 4)) { document.layers["myIDdate"].document.open(); document.layers["myIDdate"].document.write(myMsg); document.layers["myIDdate"].document.close(); } setTimeout("tokeiFunc()",1000); } // --> </script> <div ID="myIDdate" STYLE="position:absolute"></div> この中のどこを書き加えればよいのでしょうか? また、競合を起こしてしまう場合呼び出す名前?を別のものにしてやればいいということを聞いたことがありますがどれが名前になるのか、変更する名前は何でもいいのか、そのへんがよく分かりません。こういうことが実際出来るのでしょうか? お知恵をお貸しください。よろしくお願いします。

  • レイヤーのクリッピングを解除するにはどうすれば良いですか

    難しい内容かもしれませんが、宜しくお願いします。 IE4 や NN4 で例えば以下の様に、 'lay'という名前のレイヤーを作成したとします。 <DIV ID='lay' STYLE='position:absolute'></DIV> すると以下の様に、JavaScriptから文字列 htm をレイヤーに書き込めます。 //IEの場合 document.all('lay').innerHTML=htm; //NNの場合 document.layers['lay'].document.open(); document.layers['lay'].document.write(htm); document.layers['lay'].document.close(); そしてレイヤーのサイズも文字列 htm の内容に合わせて変化します。 しかし以下の様に、1度でもレイヤーをクリッピングした後に、 //IEの場合 document.all('lay').style.width=100; document.all('lay').style.height=100; document.all('lay').style.clip='rect(0,100,100,0)'; //NNの場合 document.layers['lay'].clip.left=0; document.layers['lay'].clip.right=100; document.layers['lay'].clip.bottom=100; document.layers['lay'].clip.top=0; このレイヤーをクリッピングする前の、 文字列 htm の内容に合わせてサイズが変化していた頃の状態に、 戻す方法が分からなくて困っております。 やっぱり無理でしょうか。 何の回答もないとサミシイので、わからなくても誰か返事してあげて下さい。

  • JavaSciptを外部ファイルとして複数htmlファイルで利用したい

    JavaScriptでos、ブラウザ毎にフォントを一定化するスタイルシートをつくりました。このJavaSciptを外部ファイルにして複数のページから読み込ませるようにしたいのですが、XXX.jsファイルを読み込ませるための方法が分かりません。jsファイルの外部リンクの方法、またそれをhtmlページ内で適応させるためのタグも教えてください。 ちなみに今までは全ページに <script language="JavaScript"> <!-- mac=(navigator.appVersion.indexOf('Mac')!=-1)?true:false; ie=(navigator.appName.charAt(0)=="M")?true:false; document.write("<STYLE TYPE='text/css'><!--") if(mac){ //FOR MACINTOSH IE NS document.write(".e9{font-size:9px}") document.write(".e10{font-size:10px}") document.write(".e12{font-size:12px}") document.write(".j9{font-size:9px}") document.write(".j10{font-size:10px}") document.write(".j12{font-size:12px}") (中略) //--> </script> を記載し、それぞれ<div class="e12">~</div>で挟んでいました。

  • 5秒後にフェードイン

    以下の画像がフェードインするプログラムで、5秒後にフェードインを実行するように設定するにはどうしたらよいでしょうか? どなたかご教授ください。 <script language="JavaScript"> <!-- function fadein(id) { app = navigator.appName.charAt(0); ver = navigator.appVersion.charAt(0); if ((app == "M") && (ver >= 4)) { document.all.item(id).style.visibility = "hidden"; document.all.item(id).filters[0].apply(); document.all.item(id).style.visibility = "visible"; document.all.item(id).filters[0].play(); } } // --> </script> </head> <body bgcolor="white" text="red" link="blue" vlink="purple" alink="red" class="style" onload="fadein('img1');"> <p align="right"> <img src="non.jpg"    id="img1" style="filter:revealTrans(duration=3.0,Transition=12); visibility=hidden;"> </p> </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は初心者なので、修正すべき場所とコードを詳しく教えて頂けると助かります。よろしくお願い致します。

  • 折りたたみ部分にアンカーでリンクをつけて、リンクでとんだ時、説明部分を開いた状態にしたい

    お世話になります。javascriptに関してはまだまだ素人ですが、よろしくおねがいいたします。 http://www.koikikukan.com/archives/cat_149.php のような折りたたみメニューがあるページに、 別ページから、その折りたたみメニュー部分に アンカーで飛ばす方法でリンクをつけようと考えています。 通常、折りたたみメニューはページを開いた時に閉じているのですが、 このリンクで飛んだ時のみ、ぱっと見でどこにとんだか 分かるようにするため、アンカー部分の折りたたみメニューが 開いた状態にしたいです。 しかし、どのように指定すればいいか分かりません。。 リンクにOnClickを付けて試してみたのですが、うまくいきませんでした。 なお、折りたたみ部分は複数あり、リンクでとんだアンカー部分の 説明のみが開くようにしたいです。 なにかよいアドバイスがありましたら、お願いいたします。 >別ページリンク指定部分 <a href="/●●/#1">折りたたみ部分へのリンク</a><br> >折りたたみメニュー部分 <a name="1"></a> ←※アンカーで飛ぶ <a href="#" onClick="javascript:show_hide('q1'); return false;" onkeypress="javascript:show_hide('q1'); return false;"> 折りたたみタイトル部分(※通常、ここを押すと折りたたみメニューが開く)</a><br> <div id="q1" class="qa"> 折りたたみ部分 </div> >折りたたみがあるページでのheadスクリプト部分 (折りたたみが関わっていると思われる部分) <script type="text/javascript"> <!-- function show_hide(tid) { if(navigator.appName.charAt(0)=='M'){ ids = tid.split(','); for (id in ids) { disp = document.all(ids[id]).style.display; if(disp == "none") { document.all(ids[id]).style.display = "block"; } else { document.all(ids[id]).style.display = "none"; } } } } function show(tid) { if(navigator.appName.charAt(0)=='M'){ ids = tid.split(','); for (id in ids) { disp = document.all(ids[id]).style.display; document.all(ids[id]).style.display = "block"; } } } function hide(tid) { if(navigator.appName.charAt(0)=='M'){ ids = tid.split(','); for (id in ids) { disp = document.all(ids[id]).style.display; document.all(ids[id]).style.display = "none"; } } } function prechange(){ if(navigator.appName.charAt(0)=='M'){ show('allpreset'); hide('q1') } loc = top.location.hash if (loc != ''){ location.hash = top.location.hash; } } //--> </script> ※折りたたみページに関しては、前任者が作ったページの為、javascript等私自身しっかり理解できてないところもあります。

  • このタグはグラデーションですが、文字が小さくて困っています。

    <html> <head> <title>文字にグラデーションをかけ1文字ずつ出力する</title> <script Language="JavaScript"><!-- str = "■■■■■■■■■■■■■■■■■■■■■■■■■■"; count = 0; function setText1() { if (count > str.length) return; count++; txt = str.substring(0,count); txt2 = gradTextConv(txt); if (document.all) document.all["outText"].innerHTML = txt2; if (document.layers) { document.layers["outText"].document.open(); document.layers["outText"].document.write(txt2); document.layers["outText"].document.close(); } setTimeout("setText1()",100); } function gradTextConv(sText) { p = 16 / str.length; str2 = ""; for (i=0; i<sText.length; i++) { pt = Math.floor(p*i); n = "0123456789ABCDEF".charAt(pt); c = "#"+n+n+"0000"; str2 = str2 + "<font color='"+c+"'>" + sText.charAt(i) + "</font>"; } return str2; } // --></script> </head> <body bgcolor="white" onload="setText1()"> <div id="outText" style="position:absolute;top:50px;left:5px;"></div> </body> </html>

    • ベストアンサー
    • HTML