
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
他の方の回答にもあるように、イメージマップやtitle属性を利用するのが簡単かつ良策だと思いますが・・・
実際がどのような利用になるのかよくわからないので、いろいろ適当ですが、こんな感じでしょうか?
※イメージマップは利用していませんが、利用した方が
スクリプトを大幅に簡略化できます。
※表示内容は、とりあえず画像のalt属性の内容を利用。
※表示するツールチップを吹き出し風にするのにCSSで
細工をしてますが、単にdivで良ければ省略できます。
(全角空白は半角に)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<style type="text/css">
img.tooltip{ width:300px; height:300px; }
#tipBox{ position:absolute; }
#_tipBox div {
position: relative; display: inline-block;
padding: 5px 15px; min-width: 60px;
color: #000; text-align: center;
background: #FFA;
}
#_tipBox div:after {
content: ""; position: absolute; display: block;
top: 12px; left: -20px; margin-top: -10px;
width: 0px; height: 0px; border-style: solid;
border-width: 6px 20px 6px 0;
border-color: transparent #FFA transparent transparent;
}
</style>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery","1");</script>
<script type="text/javascript">
$(function(){
var t = $("<div id='_tipBox'></div>").appendTo($("body"))
.css({ position: "absolute" }).hide();
var tooltip = {
target : null, offset: null, tip: t,
enter: function(elm){
this.target = elm;
this.offset = elm.offset();
this.tip.html("<div>" + elm.attr("alt") + "</div>");
},
out: function(){ this.target = null; },
appeal: function(x, y){
if(!this.tip.is(":visible"))
this.tip.css({ top:y-10, left:x+25 }).show();
},
clear: function(){ this.tip.hide(); }
};
$("img.tooltip").on("mouseout", function(){ tooltip.out(); })
.on("mouseover", function(evt){ tooltip.enter($(evt.target)); })
.on("mousemove",function(evt){
if(!tooltip.target) return;
var posX = evt.pageX - tooltip.offset.left
var posY = evt.pageY - tooltip.offset.top;
if(50<posX && posX<60 && 20<posY && posY<80){
tooltip.appeal(evt.pageX, evt.pageY);
} else {
tooltip.clear();
}
});
});
</script>
</head>
<body>
<div>
<img class="tooltip" src="A.jpg" alt="hogehogetest">
<img class="tooltip" src="B.jpg" alt="fugafugatest">
<img class="tooltip" src="C.jpg" alt="piyopiyotest">
</div>
</body>
</html>
No.2
- 回答日時:
「」どんなツールチップかわかりませんが・・・。
jqueryに頼る必要はないかと。jqueryで何がしたいのですか??
基本)
『その画像内のx50x60y20y80の座標の範囲にカーソルが当たった時に』
HTMLカテゴリーに質問されていますが、これはデザインの問題なので「Webデザイン・CSS( https://oshiete.goo.ne.jp/category/258 )」のほうが良いでしょう。
★HTML4.01の勧告(1999)以来、『構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』は強く言われてきた事です。
例えば、それがナビゲーションでしたら・・HTMLは次のようになっているはずですね。
『DIV要素・・は、・・class属性と併用することで、文書に構造を付加する( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』
<body>
<div class="header"><!-- この文書のヘッダ -->
<h1>ページタイトル</h1>
<div class="nav"><!-- ナビゲーション -->
<ul>
<li><a href="/" title="トップへ">TOP</a></li>
<li><a href="/books" title="著書一覧">著書</a></li>
<li><a href="/news" title="新着情報">新着情報</a></li>
</ul>
</div>
</div>
<div class="section"><!-- 本文 -->
・・・【以下略】・・・
HTML5なら、構造を示す要素が追加されたので単純に
<body>
<header><!-- この文書のヘッダ -->
<h1>ページタイトル</h1>
<nav><!-- ナビゲーション -->
<ul>
<li><a href="/" title="トップへ">TOP</a></li>
<li><a href="/books" title="著書一覧">著書</a></li>
<li><a href="/news" title="新着情報">新着情報</a></li>
</ul>
</nav>
</header>
<section><!-- 本文 -->
ここまでがHTMLの作り方。
ここからはプレゼンテーションの指定ですから、スタイルシートで行ないます。
推奨) スタイルシートでプレゼンテーションを指定する。
他の方法) imagemapを使う。
13.6 イメージマップ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
スタイルシートで色々できるようになったので今は使う人少ない。
回答ありがとうございます。
とても勉強になりました。
titleを指定した時、カーソルを当てた時に表示速度が遅いため、jqueryが必要かと思いました。
表示速度を早くする方法はありませんでしょうか?
ちなみに株価チャートの画像を作っていて、カーソルを当てると、数値が表示されるようにしたいと考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- モニター・ディスプレイ 「.cur」のアイコン表示について 4 2023/03/04 10:21
- Gmail Gメールの受信トレイの表示が変わって、戸惑っています 1 2023/04/04 17:52
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- 物理学 角運動量の式変形が分かりません。 4 2022/08/03 21:04
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- Windows 10 Windows11タスクバーやエクスプローラー、スタートメニュー 動画全画面時にカーソルが見えない 1 2022/04/08 00:03
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マウスオーバーのメニューについて
-
リキッドデザイン3カラム左端幅...
-
★CSS★
-
背景画像
-
top.pngを左に寄せて、すこし上...
-
スクロール可能なチェックボックス
-
背景画像がつられてのびていく...
-
困っています!!
-
firefoxでdivタグの体裁崩れ
-
floatさせたdivタグを折り返さ...
-
Ctrl+F(検索)の窓を出したいの...
-
1行で左寄せと右寄せと中央揃え...
-
position: relativeでIE6に余分...
-
★★★フッター最下部固定/スクロ...
-
強制的に読み込み完了とする方...
-
MAX関数を使ってからLEFT JOIN...
-
jqueryのsortableで一部ソート...
-
データの記録方法
-
【javascript で動的に a タグ...
-
オンマウスで画像変更、クリッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
スタイルシートで画面を上下に...
-
【CSS】floatで左右に並べた...
-
チェックボックスの背景色って...
-
CSS <div>の入れ子が反映さ...
-
HTMLですCSSです 画像のように...
-
CSSで背景を下までのばすには?
-
CSS のみのタブ切り替えについて
-
離れた場所にマウスオーバーで...
-
スクロール可能なチェックボックス
-
htmlのstyleのposition:relativ...
-
文字をクリックしたら別の文字...
-
スタイルシート(CSS)で、高さ...
-
行間
-
Ctrl+F(検索)の窓を出したいの...
-
CSSでフローとした際の親要素の...
-
CSSで(3)段組のページを作り...
-
html スクロール要素を下から表...
-
IE6のレイアウト崩れ
-
CSSでdivのheightを動的に
-
フッター上部に謎の隙間
おすすめ情報