• ベストアンサー

オンマウスについて

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

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

  • ベストアンサー
  • 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

  • オンマウスで解る方法教えて!

    htmlでテキスト文章を画像としてリンクファイルでアップしています。 この場合で、マウスを乗せると乗せたことが解るようにしたいのですが、画像の場合はどのような方法があるのでしょうか? 画像の入れ替えは望んでいません。例えば、画像全体の色が変るとか、画像枠が表示される等を望んでいます。 cssではなしにhtmlで書きたいと思っています。 検索してもヒットしません。詳しい方居られましたら宜しくお願いします。

  • MSペイントの操作

    おおきなキャンパスを指定した場合、画面には一度に表示できませんね。見えないところ画像を貼り付ける場合、マウスで移動させますが画面に現れないところへ持って行けません。あらかじめ張り合わせる位置を表示しておけば、今度は貼り付け画像が左上端なので、受け取れません。どうしていますか?

  • オンマウスで説明文のレイヤーを表示

    画像の上にカーソルが乗ると、レイアウトを崩さずに その画像の横にdivを表示する(上に重なるように)方法はありませんか? ※マウスの座標からではなく、その画像のからの位置を指定。

  • リンク画像をオンマウスで変えたい

    今、ホームページを作成しています。 それで、以下のようなことをしたいのですが、可能でしょうか? 1 最初の画面に、ENTERの画像を表示する 2 『1』の画像をオンマウスすると、画像が変わる 3 『2』の画像からマウスを放すと、画像が『1』に戻る  4 『2』の画像をクリックすると、別のページに飛ぶ なんだか説明下手ですいません・・・ 一応自分で調べてみたのですが、それらしい物が見つからず、失敗してばかりなので、質問させていただきました。よろしくお願いします!

  • CSSで画像に枠をつけない方法

    ブログのエントリー画面に画像を載せた時に、枠が表示されるようにしたのですが、 サイドバーの画像には枠をつけたくありません。 どう指定すればいいでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • テキストにオンマウスで指定箇所に画像を表示

    画像またはテキストリンクにオンマウスすると指定の場所にそれぞれのリンクで 指定の画像を表示するようにしたいのですが、色々調べてみたもののよくわかりませんでした。 リンク1にオンマウスして画像が出て、そのリンク1からマウスを放しても 別所に表示された画像はそのままで、次のリンク2にオンマウスすると 次の画像と入れ替わる、というようにしたいのですが・・・説明が下手ですみません^^; このようにしたい場合、どのようにしたらいいでしょうか。

  • オンマウスで画像表示する外部スクリプトを呼び出したいのですが

    お知恵をお貸し下さい。よろしくお願い致します。 「画像Aを表示」→「オンマウスで画像Bを表示」という効果を、 外部スクリプトを使ってやってみたいと思っています。 ただ外部スクリプトを読み込む時の指定方法がわかりません。 ちなみに、以下のスクリプトを外部に分けず、 <head>~</head>内に書いた時はきちんと動いておりました。 ※外部スクリプトの記述(sample.js) <SCRIPT TYPE="text/javascript"> <!-- if (document.images) { // 設定開始 // 通常の画像 var img0 = new Image(); img0.src = "sample/sample.jpg"; // ポイント時の画像01 var img01 = new Image(); img01.src = "sample/crip/01/01.jpg";     :     :(このあと02~03と画像が増える予定)     :   // 設定終了 } // ポイント時の処理 function On(name) { if (document.images) { document.images['def'].src = eval(name + '.src'); } } // 放した時の処理 function Off() { if (document.images) { document.images['def'].src = img0.src; } } // --> </SCRIPT> ========================================= ※読み込む先の記述(sample.jsは指定してあります) <a href="index.html" onMouseOver="On('img01')" onMouseOut="Off()"> <FONT SIZE="2" COLOR="indigo">【1】</font></a> 【1】の文字にマウスを持っていくと、違う場所に表示してある 画像Aが画像Bに変わるようにしたいのです。 オンマウスオーバーの指定がよくないのかと思うのですが 具体的にどこをどうしたらいいか、よろしくお願い致します。

  • オンマウスで画像表示

    オンマウスで画像表示(離すと非表示)というのをやりたいのですが 非表示の時も、オンマウス時に画像が表示されるべき領域に空白ができてしまいます。。 他のテキスト等のレイアウトを崩さずに オンマウス時だけ画像が上に被るような感じで 画面の一番手前に表示させるにはどうすればいいですか??

  • マウスポイント を変えたい

    Flash画面において マウスポイント を矢印ではなく  指定の画像にしたいのですが どうやってやるのでしょうか。

    • ベストアンサー
    • Flash
  • オンマウス時に任意の場所へ画像を複数表示

    いろいろ探してはみましたが意味がわかりません。 誰か教えてください。 説明が下手ですので図をいれて説明します。 画像の上にマウスをもってきた時、(画像が ■ だとします)          □ □          ■          □ □ このように■の上にマウスを乗せると四枚の画像を四方に表示させ、マウスを外したら消えるようにしたいのですが、どなたかソース解かる方いましたらお願いします。 またGIFアニメを□の画像で表示できるのでしょうか?       

    • ベストアンサー
    • Java

専門家に質問してみよう