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 相关文章推荐
Jquery乱码的一次解决过程 图解教程
Feb 20 Javascript
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
Mar 24 Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 Javascript
基于Jquery实现仿百度百科右侧导航代码附源码下载
Nov 27 Javascript
基于jQuery实现二级下拉菜单效果
Feb 01 Javascript
Bootstrap3学习笔记(三)之表格
May 20 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
详解AngularJS跨页面传值(ui-router)
Aug 23 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
vue实现长图垂直居上 vue实现短图垂直居中
Oct 18 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
Jul 07 Javascript
Vue CLI3 如何支持less的方法示例
Aug 29 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框架laravel的.env文件配置教程
2017/06/07 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
Bootstrap的图片轮播示例代码
2015/08/31 Javascript
JS中创建函数的三种方式及区别
2016/03/13 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
浅谈vue-cli加载不到dev-server.js的解决办法
2017/11/24 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
Vue $attrs &amp; inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
2018/07/09 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
python 窃取摄像头照片的实现示例
2021/01/08 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
荟萃全球保健品:维他购
2018/05/09 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
存储过程的优缺点是什么
2015/01/10 面试题
员工评语大全
2014/01/19 职场文书
三月学雷锋月活动总结
2014/04/28 职场文书
学生干部培训方案
2014/06/12 职场文书
迎新生标语大全
2014/10/06 职场文书
常务副总经理岗位职责
2015/02/02 职场文书
离婚纠纷代理词
2015/05/23 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers