• jQuery实现图片预览功能
  • 发布于 2个月前
  • 330 热度
    0 评论
  • 海王星
  • 0 粉丝 21 篇博客
  •   

本篇内容为实现图片预览。当鼠标移动到指定图片上时,显示图片原图,实现预览功能,此效果可能大家已经见过了,今天主要说明一下实现的原理。

首先看看简单的html,显示原始图片。

1
2
<li><a><img alt="安以轩" src="http://www.hello-code.cn/images/demo/35624390.jpg" /></a></li>
<li><a><img alt="安以轩" src="http://www.hello-code.cn/images/demo/35624390.jpg" /></a></li>
下边,我们着重看一下jQuery实现图片预览的主要过程。首先,先看看hover()事件。

1
2
3
4
5
6
7
8
9
10
11
xOffset = 10; 
yOffset = 30; 
jQuery("#imglist").find("img").hover(function(e) { 
    jQuery("<img id='imgshow' src='" this.src + "' />").appendTo("body"); 
    jQuery("#imgshow"
        .css("top", (e.pageY - xOffset) + "px"
     .css("left", (e.pageX + yOffset) + "px"
        .fadeIn("fast"); 
}, function() { 
    jQuery("#imgshow").remove(); 
});

可以看出程序首先找到id为imglist中的图片,光标移动到某个图片上时,将此图片的原始图片添加到body中,将id命名为imgshow。imgshow图片开始是不可见的,.css()为图片指定了位置,.fadeIn()最终显示原始图片。当光标离开图片时,将添加的预览图片移除,用到了remove()方法。可见,整个步骤并不复杂。

最后,当鼠标在图片上移动时,应该将图片预览也进行移动,用到了mousemove()方法,代码如下:

1
2
3
4
5
jQuery("#imglist").find("img").mousemove(function(e) { 
    jQuery("#imgshow"
       .css("top", (e.pageY - xOffset) + "px"
       .css("left", (e.pageX + yOffset) + "px"
});

这样我们就实现了我们所想要的功能。
用户评论