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变量作用域及可访问性的探讨
Nov 23 Javascript
javascript Object与Function使用
Jan 11 Javascript
jQuery 处理表单元素的代码
Feb 15 Javascript
js实现瀑布流的一种简单方法实例分享
Nov 04 Javascript
JavaScript中的Truthy和Falsy介绍
Jan 01 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
Mar 26 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
Feb 27 Javascript
JS验证全角与半角及相互转化的介绍
May 18 Javascript
原生js实现仿window10系统日历效果的实例
Oct 31 Javascript
Vue 项目部署到服务器的问题解决方法
Dec 05 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 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中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
在PHP中使用Sockets 从Usenet中获取文件
2008/01/10 PHP
php微信支付接口开发程序
2016/08/02 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
2017/11/08 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
Javascript 继承实现例子
2009/08/12 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
easyui-datagrid特殊字符不能显示的处理方法
2017/04/12 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
2018/09/27 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
Python 编码处理-str与Unicode的区别
2016/09/06 Python
Python MD5加密实例详解
2017/08/02 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
Python 使用元类type创建类对象常见应用详解
2019/10/17 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
Bootstrap 学习分享
2012/11/12 HTML / CSS
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
用友笔试题目
2016/10/25 面试题
Java面向对象面试题
2016/12/26 面试题
总经理助理职责
2014/02/04 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
五分钟演讲稿
2014/04/30 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
绿色小区申报材料
2014/08/22 职场文书
2014年班务工作总结
2014/12/02 职场文书
小学大队委竞选口号
2015/12/25 职场文书
html form表单基础入门案例讲解
2021/07/21 HTML / CSS