• ベストアンサー

オンマウスについて

画像にマウスをポイントすると、ヘルプチップのような(解説)が表示されるようにしたのですが、画面の端近くにヘルプチップが表示された時、ヘルプチップの表示がが途中で切れてしまいます。ヘルプチップの枠の大きさを指定しながら、途中で切れないようにするにはどうすればよいでしょうか?教えて下さい。よろしくお願いします。

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

  • ベストアンサー
  • y_oku
  • ベストアンサー率62% (25/40)
回答No.2

補足のURLを参考に少し考えてみました。 最初に断っておきますが、実はNN4で動きません。ごめんなさい。 下のJavaScriptに置き換えると、 IE4では目的の動作をすると思います。 NN4でも動くつもりで書いたのですが。うーん。 誰か教えてください。^^; helpWとhelpHはヘルプウインドウのだいたいの大きさです。 適当に自分で設定しました。 ------------------------------------------------------- <SCRIPT language="JavaScript1.2"> <!-- // ブラウザバージョンチェック(不十分だったので変更) var ver=navigator.appVersion.charAt(0) var name=navigator.appName.charAt(0) var nn4=false var ie4=false if((ver>=4)&&(name=="N"))nn4=true if((ver>=4)&&(name=="M"))ie4=true function getMouseX(e){ if(nn4)return e.pageX if(ie4)return document.body.scrollLeft+event.clientX } function getMouseY(e){ if(nn4)return e.pageY if(ie4)return document.body.scrollTop+event.clientY } function showHELP(msg,e,table){ //--HELP TABEL var msgtbl ='<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">' msgtbl+=table msgtbl+='<SPAN STYLE="font:12pt Osaka,Arial">' msgtbl+=msg msgtbl+='</SPAN>' msgtbl+='</TD></TR></TABLE></TD></TR></TABLE>' var offsetx=10 //ヘルプ位置をマウスポインタから左右へ何ピクセル離すか var offsety=2 //ヘルプ位置をマウスポインタから上下へ何ピクセル離すか var helpW=400 // ヘルプウインドウの幅 var helpH=90 // ヘルプウインドウの高さ if(nn4){ h = document.layers["helplay"] h.document.open() h.document.write(msgtbl) h.document.close() h.left = Math.max(0,Math.min(getMouseX(e)+offsetx,innerWidth-helpW)) h.top = Math.max(0,Math.min(getMouseY(e)+offsety,innerHeight-helpH)) h.clip.width = helpW h.clip.height = helpH h.visibility = "show" } if(ie4){ h = document.all("helplay") h.innerHTML=msgtbl var scrL=document.body.scrollLeft var scrT =document.body.scrollTop h.style.left = Math.max(scrL,Math.min(getMouseX(e)+offsetx,document.body.clientWidth-helpW+scrL)) h.style.top = Math.max(scrT,Math.min(getMouseY(e)+offsety,document.body.clientHeight-helpH+scrT)) h.style.width = helpW h.style.height = helpH h.style.visibility = "visible" } } function hideHELP(e){ if(nn4){ document.layers["helplay"].visibility = "hide" } if(ie4){ document.all("helplay").style.visibility = "hidden" } } //--> </SCRIPT> ------------------------------------------------------- ひきつづき、がんばってみます。

oohchan
質問者

お礼

メールありがとうございます。 ご連絡頂いた通りに置き換えさせていただいて、IE4で動作しました。 ソースを拝見させて頂いて、 私はまだまだ勉強不足だと痛感しました。 もっと基礎から勉強し直してまた再度挑戦しようと思います。 本当にありがとうございました。

その他の回答 (1)

回答No.1

こんばんわぁ、Blackwinglsです。 なかなかレスが付かないようですね(^^;) ヘルプチップなるものが一体何を差しているのかイマイチ、イメージを掴みかねてます。 <img src="test.gif" width="326" height="271" alt="TEST画像"> のような物を差して言ってるわけじゃぁないですよね? JavaScript のカテゴリーに質問しているのだから、ダイナミックHTMLで実現するヤツなんでしょうか? 差し障りがないようでしたら、問題になっているページのURLを補足願います。 ではでは(^^)/~~~

oohchan
質問者

補足

こんにちは。 メールありがとうございます。 初心者なのでうまく説明できなくてごめんなさい。 http://www.alpha-net.ne.jp/users2/macbeal/sample.htm が問題のページです。 よろしくお願いします。

関連するQ&A