当用户将鼠标悬停在图像的拇指版本上并且较大的图像随鼠标移动时,下面的代码会显示较大的图像。下面的代码有效,但它将图像定位在鼠标的右侧。我希望图像显示在鼠标上方的顶部中心。
我更改了 xOffset 和 yOffset 值,这将改变上下位置,并将图像向右移动,但不向左移动。
问题是如何修改代码以使悬停时出现的图像位于较小图像上方的顶部中心?
我正在通过 Google 使用最新的 jquery (1.9.1):http: //ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
jQuery:
this.imagePreview = function(){
xOffset = 0;
yOffset = 20;
$("a.preview").hover(function(e){
this.t = this.title;
var url = $(this).attr('alt')
this.title = "";
var c = (this.t != "") ? "<span class='preview-title'>" + this.t : "</span>";
$("body").append("<p id='preview'><img src='"+ url +"' alt='Image preview' />"+ c +"</p>");
$("#preview")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px")
.fadeIn(1000);
},
function(){
this.title = this.t;
$("#preview").remove();
});
$("a.preview").mousemove(function(e){
$("#preview")
.css("top",(e.pageY - xOffset) + "px")
.css("left",(e.pageX + yOffset) + "px");
});
};
$(document).ready(function(){
imagePreview();
});
html/php:
echo '<div style="display:inline;float:left;margin: 10px 4px;">
<div style="background-color: #DDD;height:100px;border: 1px solid #111;">';
if ($spacer_flag == 0)
{
echo '
<a href="/view.php?im='.$image_dbid.'&w='.$row['id'].'" title="'.$row['word'].'">
<img class="preview"
src="'.$t_show_this_image.'"
alt="'.$x_show_this_image.'"
>
</a>';
}
else
{
echo '
<a href="/reserve.php?w='.$row['id'].'" title="">
<img
src="'.$t_show_this_image.'"
></a>';
}
echo '
</div>
</div>';