• ベストアンサー

オンマウス

<a onmouseover="txt1.style.display='block'" onmouseout="txt1.style.display='none'">$data[1]</a> <span id="txt1" style="display:none;position:absolute; border:1px outset 線の色;color:説明文の文字色;background-color:#ffffe1;width=465;">$data[2]<br></span> オンラインマウスのサイトで上記の物を使用しています。 CGIで上記の物を使用していますが同一ページに複数あるとエラーで文字が表示されません。 「txt1」を変更すれば表示されるのは分かっているのですが、いちいち「txt1.txt2...」と変更せずに、これを同一ページに複数表示させるにはどうしたらよいでしょうか?。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

前提としてidに同じ名前をつけることは禁止されています。 最低限idは使えません。 グルーピングして調整してください。 <script language="javascript"> function setSpanDisplay(obj,dsp){ var cn=obj.parentNode.childNodes; for(var i=0;i<cn.length;i++){ if(cn[i].className=="txt1" ){ cn[i].style.display=dsp; break; } } } </script> <span> <a onmouseover="setSpanDisplay(this,'block')" onmouseout="setSpanDisplay(this,'none')">test</a> <span class="txt1" style="display:none;position:absolute;border:1px outset 線の色;color:説明文の文字色;background-color:#ffffe1;width=465;">ほげ1<br></span> </span> <span> <a onmouseover="setSpanDisplay(this,'block')" onmouseout="setSpanDisplay(this,'none')">test</a> <span class="txt1" style="display:none;position:absolute;border:1px outset 線の色;color:説明文の文字色;background-color:#ffffe1;width=465;">ほげ2<br></span> </span> <span> <a onmouseover="setSpanDisplay(this,'block')" onmouseout="setSpanDisplay(this,'none')">test</a> <span class="txt1" style="display:none;position:absolute;border:1px outset 線の色;color:説明文の文字色;background-color:#ffffe1;width=465;">ほげ3<br></span> </span> <span>

takutaku1
質問者

お礼

回答ありがとうございます。 早速試しましたが求めていた物で助かりました。

その他の回答 (1)

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.1

こんにちは >同一ページに複数ある これはこのセットが複数あるということでしょうか? それともCGIで複数個表示する書き方ということでしょうか? 下だったらCGIカテかperlカテで聞かれてると思うので上だと思って・・・ >いちいち「txt1.txt2...」と変更せずに う~~ん。簡略化はできると思いますけどぜんぜん変えずに複数個を別々にやるのは難しいのではないですかね? 下記のはaltの数字を変えるだけにしています(ソースの1個目の<span>が『0』番目になります) <style type="text/css"> span { display:none; position:absolute; border:1px outset blue; color:blue; background-color:#fffe1; width:465px; } </style> <script language="JavaScript"> function set(n) { document.getElementsByTagName("span")[n].style.display = "block"; } function del(n) { document.getElementsByTagName("span")[n].style.display = "none"; } //--> </script> <a onMouseover="set(this.alt)" onMouseout="del(this.alt)" alt="0">$data[1]</a> <span>$data[1-2]</span><br> <a onMouseover="set(this.alt)" onMouseout="del(this.alt)" alt="1">$data[2]</a> <span>$data[2-2]</span><br> <a onMouseover="set(this.alt)" onMouseout="del(this.alt)" alt="2">$data[3]</a> <span>$data[3-2]</span><br> <a onMouseover="set(this.alt)" onMouseout="del(this.alt)" alt="3">$data[4]</a> <span>$data[4-2]</span><br>

takutaku1
質問者

お礼

回答ありがとうございます。 >これはこのセットが複数あるということでしょうか? そうです、複数あるということです。 >簡略化はできると思いますけどぜんぜん変えずに 質問で書いた物は要望のものになれば変えてしまってもぜんぜん問題ありません。

関連するQ&A

  • テーブルとオンマウス

    <span> <a onmouseover="setSpanDisplay(this,'block')" onmouseout="setSpanDisplay(this,'none')">test</a> <span class="txt1" style="display:none;position:absolute;border:1px outset 線の色;color:説明文の文字色;background-color:#ffffe1;width=465;">ほげ1<br></span> </span> <span> <a onmouseover="setSpanDisplay(this,'block')" onmouseout="setSpanDisplay(this,'none')">test</a> <span class="txt1" style="display:none;position:absolute;border:1px outset 線の色;color:説明文の文字色;background-color:#ffffe1;width=465;">ほげ2<br></span> </span> <span> <a onmouseover="setSpanDisplay(this,'block')" onmouseout="setSpanDisplay(this,'none')">test</a> <span class="txt1" style="display:none;position:absolute;border:1px outset 線の色;color:説明文の文字色;background-color:#ffffe1;width=465;">ほげ3<br></span> </span> <span> 以前ここで回答を頂いた上記をスクロールバー付きのテーブルの中で使おうと思いましたが(少し省略してあります)問題が発生したので質問しました。 分かりづらいですが、画像で解説です。 http://www3.ezbbs.net/22/kinokokinoko/img/1185714736_1.JPG スクロールバー付きのテーブルの中の文字Aの上にマウスを置いた時に文字Cの位置、つまりスクロールバー付きのテーブルの外側に文字を出したいのです。 しかし、実際にはスタイルシートで位置を指定してもマウスを文字Aの上に置いた時、文字Bのようにスクロールバー付きのテーブルの内部に文字が表示されてしまいます。 これを最初に書いた通り、スクロールバー付きのテーブルの外側に文字を指定の位置に表示する方法はあるのでしょうか?。

    • ベストアンサー
    • HTML
  • ネットスケープでも見えるオンマウスの説明文

    ボタンに触れると説明文が出て、ボタンを押すとリンク先に飛ぶというのがIEではできました。ところが、NNだと、ボタンに触れても説明文が表示されません。 NNでもIEでもできるようにすればどうすればよいのでしょうか? <a href="リンク先のアドレス" onmouseover="txt1.style.display='block'" onmouseout="txt1.style.display='none'"> <img src="ボタンのファイル名"></a><br>  <span id="txt1" style="display:none;position:absolute; color:説明文の色;background-color:white">    説明文</span> ※ボタンを押したときに、ボタンが黒い点々で囲まれる(リンクを示すもの?)は説明文をいっしょに囲みたくないのでこうなりました。

    • ベストアンサー
    • HTML
  • 画像アイコンにリンクつけたいし、説明もポップアップさせたい

    お世話になっております<m(__)m> タイトルのとおりなのですが、画像アイコンにリンクつけたいし、説明もポップアップさせたいんです。 http://rurunta.gooside.com/ ↑のページを参考にしました。作者さま、ありがとうございます<m(__)m> それぞれ、下記のようなソースで作ればいいとのことですが、 <a href="表示させたいペ-ジのURL" onmouseover="txt1.style.display='block'" onmouseout="txt1.style.display='none'">表示させる文字</a> <span id="txt1" style="display:none;position:absolute; border:線の太さpx 線の種類 線の色;color:説明文の文字色;background-color:説明文の背景色;">説明文</span> どちらも同時に使いたい場合は、どうソースを並べればいいのでしょうか? このページに、サンプルがありましたので、このページ自体のソースを見ようかと思いましたが、フレームでつくってあるせいか、発見できませんでした。。。 あと、このソースのなかに「border:線の太さpx 」とありますが、pxってなんでしょうか?

  • スタイルシートでレイアウトしたいのですが出来ません。

    <a href="○○.html" onmouseover="txt1.style.display='block'" onmouseout="txt1.style.display='none'"> ○○タイトル○○</div></a> <span id="txt1" style="display:none;position:absolute; border:3px solid #ff0000;color:#FF0099;background-color:#FFFFCC;"> ○○説明文○○</span> 上のような<txt>タグが全部で20個以上あるので (つまりtxt1~txt20まであります) CSSでレイアウトしたいのですがうまくいきません。 上のタグをCSSでどのように定義づけたら <div class>で作れるようになるか教えてください。

  • 「カーソル当てると説明が出る方法」

    <ait>や<title>でなく カーソルを当てると自分の好きな「背景色や枠色」で 説明文が出るようにしたいのですが中々うまくいきません。 そこで、あるサイトの方のソースを見て そのままタイトルや説明文章を変えてみたら表示できました。 -<a href="○○.html" onmouseover="txt1.style.display='block'" onmouseout="txt1.style.display='none'">○○タイトル</a> <span id="txt1" style="display:none;position:absolute; border:3px solid #006633;color:#ffffff;background-color:#000000;">○○説明</span> ここにあろ<span id="txt1>という物が何か分かりません。 自分でCSSで<txt1>を作らないといけないでしょうか? もし.txt1 を作るなら何を記入すれば良いのですか? またこのまま、この方のソースをコピペして使った場合 もしこの方がサイトを閉鎖しても 僕がコピペした部分はそのまま生きていますでしょうか? もし手直し等必要ならどうか教えてください。 このままで良いのか手直しがいるのかが分かりません。

  • 隣のフレームの中のスタイルをいじる・・・なら指定はどこになる?

    <SPAN onclick="com1.style.display='block'"> <FONT SIZE="2">+</font> </span> <SPAN onclick="com1.style.display='none'"> <FONT SIZE="2">-</font> </span> をクリックすることにより <FONT size="2" color="red" id="com1_1" style={display:none;}> 文字列 </font> を表示させたりさせなかったりするスクリプトを 「left」のフレームで動かしています。 (スクリプトというには短いですが) これを「right」フレームにある文字、もしくは画像から onclickでコントロールする場合、 どのようにかけばよいのでしょうか? <SPAN onclick="com1.style.display='block'"> <FONT SIZE="2">+</font> </span> に何かを追加するといいようには見えるのですが。 それともそもそもできないのでしょうか?

  • 特定の場所の番号を連続して入力する方法やソフト

    <a onmouseover="txt1.style.display='block'" onmouseout="txt1.style.display='none'"> 上記ので「txt1」という2つの部分だけを <a onmouseover="txt2.style.display='block'" onmouseout="txt2.style.display='none'"> <a onmouseover="txt3.style.display='block'" onmouseout="txt3.style.display='none'"> 「txt2」「txt3」と書きかえていき、今現在1200まで書いてきました。 しかし「txt10000」まで書かなくてはいけません、大変なので数字の部分だけ連続して番号を書けるようになるソフトはありますでしょうか?。

  • styleシート

    スタイルで<SPAN style="display:none">というやつがありますが、<SPAN style="printing:none">という感じに印刷のときには表示させないようなタグかなにかってありますか?できればCGIは避けたいのですが。

  • カーソルを当てると真下に説明文が来て困ってます。

    <div class="sub3"><img src="○○.gif"> <a href="http:○○.html" onmouseover="txt4.style.display='block'" onmouseout="txt4.style.display='none'"> ○タイトル○</div></a> <span id="txt4" style="display:none;position:absolute; border:3px solid #ff0000;color:#FF0099;background-color:#FFFFCC;"> ○説明文○ </span> と記入したのですがカーソルを当てると説明文が 真下に来てしまいます。 右横に来るようにするにはどうしたら良いでしょうか? なお<div class="sub3">というのは .sub3 { width: 180px;     height: 8px;     padding: 2px 7px 0px 0px;      font-weight: bold;     color: #ff69b4; font-size:11px; } という定義です。 どうしたら真下でなく横に説明文の枠が来るようにできますか?

  • 『オンマウスで説明文を表示』について

    http://lll.s21.xrea.com/m/link/38.html こちらのURLのタグを参考にしてやってみたところ、背景が半透明になってしまうのです。 すぐ上やすぐ下に文字が書いてあるので、ごちゃごちゃになって見えなくなってしまいます。 色々いじってみましたが、どうも上手くいきません。 どなたか、何処をどう変更するのか教えて頂けませんか? お願いします。 使用タグ↓ <SCRIPT language="JavaScript"> <!-- function up(text){ document.getElementById('te').innerHTML=text; set.style.posLeft =document.body.scrollLeft+window.event.clientX+10; set.style.posTop =document.body.scrollTop+window.event.clientY+10; document.all('set').style.display="block";} function kes(){document.all('set').style.display="none";} //--> </SCRIPT> <A HREF="○○.html" onmouseover="up('文章...')"; onMouseout="kes()">テストページ</A> <DIV style="display:none;position:absolute;filter:Alpha(opacity=70);" ID="set"> <TABLE BORDER=1 style="border-style:dotted" BORDERCOLOR="#333333" BGCOLOR="#E0E0E0" cellspacing=1 cellpadding=20> <TR><TD BGCOLOR="#FFE0E0"><SPAN ID="te"></SPAN></TD></TR> </TABLE> </DIV>

専門家に質問してみよう