我的网页中有几张图像,当鼠标访问图像时,我想显示一个框(有关图像的更多信息)。我还希望框的位置恰好是鼠标所在的位置,并且随着鼠标的移动而移动。这是我的代码,但它不起作用。问题是在 Firefox 中,框和鼠标垂直对齐(不是水平),但在 Chrome 中,框和鼠标水平对齐(不是垂直)
<div class="library_teaser_photo_class">
<div class="book_detail" style="display:block;visibility :hidden;position: fixed;">
<?php print $fields['field_library_writer']->content; ?>
</div>
<?php print $fields['field_library_photo']->content; ?>
</div>
这是jQuery代码
var offsetX = 10;
var offsetY = 20;
$('.library_teaser_photo_class').hover(function(e)
{
if (e.pageX || e.pageY)
{
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY)
{
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+document.documentElement.scrollTop;
}
$(this).find('.book_detail').css('visibility','visible')
.css('top',posy + offsetY)
.css('left',posx + offsetX);
},function(){
$(this).find('.book_detail').css('visibility','hidden');
});
$('.library_teaser_photo_class').mousemove(function(e){
if (e.pageX || e.pageY)
{
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY)
{
posx = e.clientX+document.body.scrollLeft
+document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+document.documentElement.scrollTop;
}
$(this).find('.book_detail').css('top',posy ).css('left',posx );
});