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 相关文章推荐
js 程序执行与顺序实现详解
May 13 Javascript
JS操作Cookie写入和读取实例代码
Oct 20 Javascript
JQuery结合CSS操作打印样式的方法
Dec 24 Javascript
jQuery中的val()示例应用
Feb 26 Javascript
JavaScript简单下拉菜单实例代码
Sep 07 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
JS公共小方法之判断对象是否为domElement的实例
Nov 25 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
Dec 08 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
利用vue+elementUI实现部分引入组件的方法详解
Nov 22 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
jquery ajax 登录验证实现代码
2009/09/23 Javascript
jQuery 使用手册(二)
2009/09/23 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
动态统计当前输入内容的字节、字符数的实例详解
2017/10/27 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
js制作提示框插件
2020/12/24 Javascript
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
python 控制语句
2011/11/03 Python
Python 用户登录验证的小例子
2013/03/06 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
PyQt5实现简易计算器
2020/05/30 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
pandas数据拼接的实现示例
2020/04/16 Python
安装多个版本的TensorFlow的方法步骤
2020/04/21 Python
Python 如何查找特定类型文件
2020/08/17 Python
Python判断变量是否是None写法代码实例
2020/10/09 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
NUK奶瓶美国官网:NUK美国
2016/09/26 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
欢迎领导检查标语
2014/06/27 职场文书
使用python绘制横竖条形图
2022/04/21 Python