![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちわ。
現在、imagelink.jsといったJAVAを使って画像にマウスオーバーした時に任意の画像に別の画像を重ねて表示するといった事が出来るものを見つけたのですが、表を作成し画像を並べると、マウスオーバーした際に全く別の所に表示されてしまいます。
表を作らずそのまま画像を縦に並べるだけだと正常に動作するのですが。。。
またFireFoxだと大丈夫でInternetExpiorer8だと本来任意の画像に重なって表示されるはずが、まったく違う場所に表示されます。
これを回避する方法などあるのでしょうか?
以下デモページになります。
http://cssglobe.com/lab/imagelink/
No.1ベストアンサー
- 回答日時:
表を作成し画像を並べると、マウスオーバーした際に全く別の所に表示されてしまうのを回避するのは、
に対しては、CSS定義で
p{margin:1em 0;}
img{border:none;
position:relative;}
のようにpタグの下のimgタグにposition:relative;
を指定すると出来ます。
InternetExpiorer8だと本来任意の画像に重なって表示されるはずが、まったく違う場所に表示されます。
=>IE8の非互換部分をチェックするしかないですね?
No.3
- 回答日時:
RC1 で直ってる?
--------------------------------------------------
imagelink.js
32 行目、position に static を指定してる辺りが怪しい。(#1 さんと同意見)
参考URL:https://connect.microsoft.com/IE/feedback/Search …
No.2
- 回答日時:
つくってみた。
かこのけいけんからいうと、どっかにかならず、みすがあるじょ!<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>test</title>
<table border="1">
<tr><td><img src="./img/0.gif" id="img0" width="100" height="100"></td></tr>
<tr><td><img src="./img/1.gif" id="img1" width="100" height="100"></td></tr>
</table>
<script type="text/javascript">
//@cc_on
var OnMouseImager = { };
OnMouseImager.buffer = { };
OnMouseImager.add = (function () {
return function (onImageId, newImageFile, newImageAlt, offsetX, offsetY) {
if ( undefined == onImageId ) return;
if ( ! this.buffer[ onImageId ] ) {
var img = new Image, s = img.style;
img.src = newImageFile;
img.alt = newImageAlt || newImageFile;
this.buffer[ onImageId ] = {'img': img, 'x':offsetX ||0, 'y':offsetY||0};
}
};
})();
OnMouseImager.disp = (function (get) {
var m;
return function (id) {
var obj, tgt, psn;
if (! id && m) {
m.style.display = 'none';
m = null;
} else {
obj = this.buffer[ id ];
if ( ! obj ) return;
tgt = document.getElementById( id );
psn = get( tgt );
m = this.img;
m.src = obj.img.src;
m.style.top = psn.y + obj.y +'px';
m.style.left = psn.x + obj.x + 'px';
m.style.display = 'inline';
}
};
})(
function (e) {
var x = 0, y = 0;
do {
x += e.offsetLeft;
y += e.offsetTop;
} while (e = e.offsetParent)
return { 'x': x, 'y':y };
}
);
OnMouseImager.Initializer = (function () {
return function ( ) {
document./*@if (@_jscript)attachEvent('on'+ @else@*/addEventListener(/*@end@*/
'mouseover', OnMouseImager.Listener, false);
this.img = document.createElement('img');
var p = document.createElement('p');
var s = this.img.style;
s.position = 'absolute';
s.display = 'none';
p.appendChild(this.img);
document.body.appendChild(p);
};
})();
OnMouseImager.Listener = function ( evt ) {
var e = evt./*@if (@_jscript) srcElement @else@*/ target /*@end@*/, o;
OnMouseImager.disp(OnMouseImager.buffer[e.id] ? e.id: null);
};
//##########################
OnMouseImager.Initializer();//初期化 かならず必要
OnMouseImager.add('img0','./img/0.gif','a', 20, 20);//対象の画像ID,表示する画像,説明?,左からの位置,上からの位置
OnMouseImager.add('img1','./img/1.gif','b', 20,20);//あとは何個でも
</script>
お返事、ありがとうございます。
スタイルシートで回避できましたが勉強させて頂きます。
お手間お掛けしました。有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- WordPress(ワードプレス) ワードプレスで、左寄せ画像と文字を横並びにせず、画像の下に文字を表示される方法を教えてください 1 2022/04/24 11:06
- X(旧Twitter) ツィッターの画像表示について 1 2023/08/17 09:28
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- その他(プログラミング・Web制作) Leafletで画像をon、offさせる方法について 2 2022/11/01 15:34
- Excel(エクセル) iphonからone driveに保存してあるExcelを閲覧すると表示の仕方がちがうデータ 2 2022/12/21 13:51
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Visual Basic(VBA) ChatGPTに作らせたい Excel VBA 1 2023/04/05 19:56
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- Illustrator(イラストレーター) 印刷プレビューに画像が表示されない 3 2022/09/06 14:34
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptでの画像切り替えを...
-
横にスクロールするだけのスラ...
-
デフォルト非表示にしたい。【t...
-
VBAでIEを動かす場合、下記の①...
-
JS:画像を繰り返しランダム読...
-
時間差で画像を動作させたいjav...
-
サムネイルにカーソルを合わせ...
-
jQueryで同じクラス名のものを...
-
JavaScriptでクレイアニメ。ち...
-
<body onload="display_image()...
-
交互に入れ替わる画像を複数配置
-
HPがFirefoxでは問題ないのに、...
-
jQueryでのドラッグアンドドロ...
-
javascriptテキストBOX色を元に...
-
jspでcssが読み込めない
-
読み込んだQRコードをフォーム...
-
MAX関数を使ってからLEFT JOIN...
-
Slick.jsのオプションrtlについて
-
eclipseでcssを使うためには?
-
JSPでの画像ファイル表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jQueryで同じクラス名のものを...
-
Javascript初心者|jQueryの.va...
-
デフォルト非表示にしたい。【t...
-
jQueryでのドラッグアンドドロ...
-
複数bxsliderをタブで切り替え...
-
画像の表示位置
-
JavaScriptでの画像切り替えを...
-
Colorboxがうまく設置できません
-
clear機能を失わずにファイルア...
-
embed要素のsrc属性の値を変更...
-
JQueryでオープニングアニメー...
-
全部のサイコロをjavascriptで...
-
一定時間で入れ替わるバナー画...
-
JQueryで画像の上で文字を動かす
-
スクリプト
-
画像拡大とともにエレメントも...
-
JavaScript スクロール制御
-
アップロードファイルの種類に...
-
サムネイルにカーソルを合わせ...
-
htmlの中のhtmlをタブで切り替え
おすすめ情報