同じ jQuery プラグインを使用しましたが、同じページに大量の要素があると問題が発生しました。いくつかをテストした後、私はこれを選択しました:
ここで動作するデモを見ることができます!
そして、ウェブページのリンク はこちら!
編集済み
コメントで要求されたように、上記のプラグインに基づく jQuery 拡張機能があります。
Jクエリ
(function($) {
$.fn.tooltipImg = function(options) {
// options
var opts = $.extend({}, $.fn.tooltipImg.defaults, options);
// when the mouse gets over the element
$(this).hover(function(e){
this.t = this.alt;
var c = (this.t != "") ? "<br/>" + this.t : "",
src = ($(this).data("src")!='') ? $(this).data("src") : this.src,
res = '<p class="'+opts.wrapper+'"><img src="'+src+'" alt="Image preview" />'+c+'<p>';
$("body").append(res);
$("."+opts.wrapper)
.css({
"top" : (e.pageY - opts.xOffset) + "px",
"left" : (e.pageX + opts.yOffset) + "px"
})
.fadeIn("fast");
},
function(){
$("."+opts.wrapper).remove();
});
// when the mouse moves while over the element
$(this).mousemove(function(e){
$("."+opts.wrapper)
.css({
"top" : (e.pageY - opts.xOffset) + "px",
"left" : (e.pageX + opts.yOffset) + "px"
});
});
}
// options defaults
$.fn.tooltipImg.defaults = {
xOffset : 10,
yOffset : 30,
wrapper : 'myTooltipImgWindow'
}
})(jQuery);
利用方法
$(document).ready(function(){
$('.tooltipMe').tooltipImg();
// with options
$('.tooltipMe').tooltipImg({
xOffset : 20,
yOffset : 40,
wrapper : 'myToolTipContainerClass'
});
});
この動作する Fiddle を見ることができます!
この Fiddle は、クロスドメインからの画像、相対パスを使用した画像、およびimg
src
.
Fiddle の下の相対パスにはバグがあることに注意してください。表示される場合と表示されない場合がありますが、問題なく動作します。