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控件autocomplete 0.11演示及下载 1月5日已更新
Jan 09 Javascript
jquery form 隐藏的input 选择
Apr 29 Javascript
jQuery Migrate 1.1.0 Released 注意事项
Jun 14 Javascript
javaScript实现可缩放的显示区效果代码
Oct 26 Javascript
关于动态执行代码(js的Eval)实例详解
Aug 15 Javascript
AngularJS  ng-table插件设置排序
Sep 21 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
Oct 28 Javascript
jquery简单实现纵向的无缝滚动代码实例
Apr 01 jQuery
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
Nov 04 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 Javascript
Vue vm.$attrs使用场景详解
Mar 08 Javascript
Jquery $.map使用方法实例详解
Sep 01 jQuery
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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
php导出CSV抽象类实例
2014/09/24 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
javascript JSON操作入门实例
2010/04/16 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
pygame学习笔记(5):游戏精灵
2015/04/15 Python
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
python简单实现刷新智联简历
2016/03/30 Python
python 截取 取出一部分的字符串方法
2017/03/01 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
Python Web项目Cherrypy使用方法镜像
2020/11/05 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
Luxplus荷兰:以会员价购买美容产品等,独家优惠
2019/08/30 全球购物
个人简历自我鉴定
2013/10/11 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
《真想变成大大的荷叶》教学反思
2014/04/14 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
党的群众路线教育实践活动学习笔记范文
2014/11/06 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
详解Redis瘦身指南
2021/05/26 Redis
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技
如何利用python实现列表嵌套字典取值
2022/06/10 Python