jQuery实现的鼠标滑过弹出放大图片特效


Posted in Javascript onJanuary 08, 2016

本章节介绍一下一种比较常用的效果,那就是当鼠标滑过链接的时候,能够出现跟随鼠标指针移动的图层,在实际应用中,一般是对于链接的一些说明文字或者图片等等,

我们先来看个演示图

jQuery实现的鼠标滑过弹出放大图片特效

下面是代码实例:

<link rel="stylesheet" href="../css/common.css" type="text/css" />
<script type="text/javascript" src="../js/jquery-1.2.6.pack.js"></script>
<script type="text/javascript" src="../js/jquery.imagePreview.1.0.js"></script>
<script type="text/javascript">
$(function(){
	$("a.preview").preview();	 
});
</script>
<style type="text/css">
html{overflow-y:scroll;}
a.preview,a.preview:hover{text-decoration:none;}
a.preview img{margin:20px 10px;}
</style>
</head>

<body>
<div class="zxx_out_box">
 <div class="zxx_in_box">
  <h3 class="zxx_title">图片放大显示的jQuery插件演示页面</h3>
  <div class="zxx_main_con">
			<div class="zxx_test_list">
   	<a class="preview" href="http://image.3water.com/image/study/s/s256/mm1.jpg" title="张含韵">
    	<img src="http://image.3water.com/image/study/s/s128/mm1.jpg" />
    </a>
    <a class="preview" href="http://image.3water.com/image/study/s/s256/mm2.jpg" title="某不知名美女">
    	<img src="http://image.3water.com/image/study/s/s128/mm2.jpg" />
    </a>
    <a class="preview" href="http://image.3water.com/image/study/s/s256/mm3.jpg" title="某不知名美女">
    	<img src="http://image.3water.com/image/study/s/s128/mm3.jpg" />
    </a>
    <a class="preview" href="http://image.3water.com/image/study/s/s256/mm4.jpg" title="某不知名美女">
    	<img src="http://image.3water.com/image/study/s/s128/mm4.jpg" />
    </a>
    <a class="preview" href="http://image.3water.com/image/study/s/s256/mm5.jpg" title="某不知名美女">
    	<img src="http://image.3water.com/image/study/s/s128/mm5.jpg" />
    </a>
   </div>   
  </div>

 </div>
</div>
</body>
</html>

以上代码实现了我们的要求,小伙伴们觉着怎么样呢

接下来我们看看使用方法简要说明:

1.需要借助a标签的href属性,此jQuery插件的原理是当鼠标移至缩略图(或链接文字时),会加载一段含有href指向路径的大图html片段,该片段根据鼠标的位置绝对定位。于是产生了鼠标移到缩略图上显示大图的效果。大图的地址就是a标签的href属性的内容。例如:<a href=”xx.jpg”>缩略图</a> 如果此a标签含有显示大图的方法,则页面就会显示href所指向的“xx.jpg”这个图片。

2.使用的方法是:目标选择器.preview();例如上面的<a href=”xx.jpg”>缩略图</a>就可以使用$(“a”).preview();这段代码实现鼠标移到“缩略图”这个文字链接上显示xx.jpg这张图片的效果。

3.仅支持png,gif,jpg,bmp四种格式的图片,您可以修改插件代码的正则表达式扩展支持的图片格式类型。

下面简单介绍一下实现过程:

一.代码注释:

1.this.screenshotPreview=function(){ },声明一个函数用来实现跟随效果,在本效果中,this其实是可以省略,它指向window。

2.xOffset=10,声明一个变量,用来规定鼠标指针距离弹出图片的横向距离。

3.yOffset=30,声明一个变量,用来规定鼠标指针距离弹出图片的纵向距离。

4.$("a.screenshot").hover(function(e){},function(e){}),规定当鼠标移到链接和离开链接所要执行的函数。

5.this.t = this.title,将链接的title属性值赋值给t属性,这里的this是指向当前鼠标悬浮的链接对象。

6.var c = (this.t != "") ? "<br/>" + this.t : "",如果this.t不为空,也就是存在title属性值,那么插入一个换行符并且连接当前标题内容,否则将c设置为空。

7.$("body").append("<p id='screenshot'><img src='"+ this.rel +"'/>"+ c +"</p>"),将图片和相关说明添加到body。

8.$("#screenshot").css("top",(e.pageY-xOffset)+"px").css("left",(e.pageX+yOffset)+"px").fadeIn("fast"),设置p元素的top和left属性值,并且采用淡入效果展现。

9.this.title=this.t,将title内容赋值给this.title,其实不要这一句也没有任何问题,有点多余。

10.$("#screenshot").remove(),移出p元素。

11.$("a.screenshot").mousemove(function(e){}),用来设置当鼠标指针移动时,图片能够跟随。

12.$("#screenshot").css("top",(e.pageY-xOffset)+"px") .css("left",(e.pageX+yOffset)+"px"),设置p元素的top和left属性值,能够实现跟随效果。

二.相关阅读:

1.hover()函数可以参阅jQuery的hover事件一章节。
2.append()函数可以参阅jQuery的append()方法一章节。
3.css()函数可以参阅jQuery的css()方法一章节。
4.pageY属性可以参阅jQuery的event.pageY属性一章节。
5.fadeIn()函数可以参阅jQuery的fadeIn()方法一章节。
6.remove()函数可以参阅jQuery的remove()方法一章节。
7.mousemove事件可以参阅jQuery的mousemove事件一章节。

Javascript 相关文章推荐
javascript 使td内容不换行不撑开
Nov 29 Javascript
JS打开图片另存为对话框实现代码
Dec 26 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
Jun 28 Javascript
浅谈js的ajax的异步和同步请求的问题
Oct 07 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
Angular2学习笔记之数据绑定的示例代码
Jan 03 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
浅谈webpack4.x 入门(一篇足矣)
Sep 05 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
Jun 11 Javascript
JavaScript Dom实现轮播图原理和实例
Feb 19 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 #Javascript
javascript中select下拉框的用法总结
Jan 07 #Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 #Javascript
js创建对象的方法汇总
Jan 07 #Javascript
JavaScript截取、切割字符串的技巧
Jan 07 #Javascript
js确认框confirm()用法实例详解
Jan 07 #Javascript
实例讲解jquery与json的结合
Jan 07 #Javascript
You might like
PHP HTML代码串 截取实现代码
2009/06/29 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
php和editplus正则表达式去除空白行
2015/04/17 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
javascript中检测变量的类型的代码
2010/12/28 Javascript
javascript 闭包
2011/09/15 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
Nodejs中 npm常用命令详解
2016/07/04 NodeJs
微信小程序 实战实例开发流程详细介绍
2017/01/05 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
Python数据类型之Dict字典实例详解
2019/05/07 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python线程的几种创建方式详解
2019/08/29 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
澳大利亚相机之家:Camera House
2017/11/30 全球购物
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
linux面试题参考答案(9)
2015/01/07 面试题
机械工程及自动化专业求职信
2014/09/03 职场文书
2015年维修工作总结
2015/04/25 职场文书
PHP解决高并发问题
2021/04/01 PHP
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android