繁体   English   中英

jQuery悬停图像效果

[英]jQuery hover image effect

我正在使用jquery悬停图像预览效果。 用户将鼠标悬停在缩略图上,并显示较大的版本。 对于预览的图像,我有不同的宽度/高度。 现在要做的是在缩略图的右/下显示图像。 我想要它做的是显示在图像的左/上,但是由于图像尺寸不同,如果我使用静态尺寸(也就是当前代码中的偏移量),则光标和图像之间会有多余的空间。 我希望脚本获取每个图像的图像高度/宽度,并根据这些属性动态显示。 任何帮助是极大的赞赏。

html / css代码如下:

<ul class="gallery" style="margin-top: 50px;" align="center">
   <li><a href="images/lpage-image1.png" class="preview" onclick="return false"><img src="images/lpage-image1-thumb.png" alt="gallery thumbnail" /></a></li>
   <li><a href="images/lpage-image2.png" class="preview" onclick="return false"><img src="images/lpage-image2-thumb.png" alt="gallery thumbnail" /></a></li>
   <li><a href="images/lpage-image3.png" class="preview" onclick="return false"><img src="images/lpage-image3-thumb.png" alt="gallery thumbnail" /></a></li>
</ul>

#preview{
position:absolute;
border:1px solid #ccc;
background:#333;
padding:5px;
display:none;
margin-top: -250px;
float: left;
color:#fff;
}

jQuery的:

this.imagePreview = function () {
/* CONFIG */

xOffset = 80;
yOffset = -400;
var height = 0;
var width = 0;

// these variables determine popup's distance from the cursor


/* END CONFIG */
$("a.preview").hover(function (e) {
    this.t = this.title;
    this.title = "";
    var c = (this.t != "") ? "<br/>" + this.t : "";
    $("body").append("<p id='preview'><img src='" + this.href + "' alt='Image preview' />" + c + "</p>");
    $("#preview")
        .each(
    height = $(this).height();
    width = $(this).width();)
        .css("top", (e.pageY - height) + "px")
        .css("left", (e.pageX - width) + "px")
        .fadeIn("fast")
},

function () {
    this.title = this.t;
    $("#preview").remove();
});
$("a.preview").mousemove(function (e) {
    $("#preview")
        .css("top", (e.pageY - width) + "px")
        .css("left", (e.pageX + height) + "px");
});
};

// starting the script on page load
$(document).ready(function () {
imagePreview();
});

我会使用position:relative; 以获得更大的图像,并使用它将其提升到最左上角。

position: relative;
top: -10px;
left: -10px;

那对你有用吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM