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不同页面传值的改进版
Sep 30 Javascript
js动画(animate)简单引擎代码示例
Dec 04 Javascript
jQuery不使用插件及swf实现无刷新文件上传
Dec 08 Javascript
javascript的tab切换原理与效果实现方法
Jan 10 Javascript
Bootstrap carousel轮转图的使用实例详解
May 17 Javascript
浅谈js里面的InttoStr和StrtoInt
Jun 14 Javascript
AngularJS应用开发思维之依赖注入3
Aug 19 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
Apr 22 Javascript
Layer弹出层动态获取数据的方法
Aug 20 Javascript
用Golang运行JavaScript的实现示例
Nov 25 Javascript
js实现经典贪吃蛇小游戏
Mar 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数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
关于初学PHP时的知识积累总结
2013/06/07 PHP
浅析php学习的路线图
2013/07/10 PHP
php教程之魔术方法的使用示例(php魔术函数)
2014/02/12 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
Bootstrap基础学习
2015/06/16 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
node.js中fs文件系统目录操作与文件信息操作
2018/02/24 Javascript
浅谈javascript错误处理
2019/08/11 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
2019/12/18 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
jQuery实现日历效果
2020/09/11 jQuery
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Django中使用locals()函数的技巧
2015/07/16 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
Python中的引用知识点总结
2019/05/20 Python
python [:3] 实现提取数组中的数
2019/11/27 Python
学习python需要有编程基础吗
2020/06/02 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
Farah官方网站:男士服装及配件
2019/11/01 全球购物
外贸采购员求职的自我评价
2013/11/26 职场文书
会计实习生自我鉴定
2013/12/12 职场文书
经贸日语专业个人求职信范文
2013/12/28 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
西岭雪山导游词
2015/02/06 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python