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 oop开发滑动(slide)菜单控件
Aug 25 Javascript
麻雀虽小五脏俱全 Dojo自定义控件应用
Sep 04 Javascript
javascript使用定时函数实现跳转到某个页面
Dec 25 Javascript
让table变成exls的示例代码
Mar 24 Javascript
jQuery插件slider实现拖动滑块选取价格范围
Apr 30 Javascript
javascript运算符——逻辑运算符全面解析
Jun 27 Javascript
angularjs 表单密码验证自定义指令实现代码
Oct 27 Javascript
使用jQuery.Pin垂直滚动时固定导航
May 24 jQuery
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 jQuery
使用vue-cli+webpack搭建vue开发环境的方法
Dec 22 Javascript
layui radio性别单选框赋值方法
Aug 15 Javascript
深入浅出了解Node.js Streams
May 27 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 无限极分类
2008/03/27 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
PHP获取当前页面URL函数实例
2014/10/22 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
js 通用javascript函数库整理
2011/08/14 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
浅谈JavaScript find 方法不支持IE的问题
2017/09/28 Javascript
详解webpack babel的配置
2018/01/09 Javascript
mint-ui 时间插件使用及获取选择值的方法
2018/02/09 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
Python装饰器原理与简单用法实例分析
2018/04/29 Python
django2笔记之路由path语法的实现
2019/07/17 Python
浅谈django channels 路由误导
2020/05/28 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
电子信息科学专业自荐信
2014/01/30 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
日语专业求职信
2014/07/04 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
社会工作专业自荐信
2014/09/26 职场文书
2014年局领导班子自身建设情况汇报
2014/11/21 职场文书
新郎答谢词
2015/01/04 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
Python图像处理之图像拼接
2021/04/28 Python
详解Go语言中Get/Post请求测试
2022/06/01 Golang