jQuery鼠标悬浮链接弹出跟随图片实例代码


Posted in Javascript onJanuary 08, 2016

本文章介绍了一种比较常用的效果,那就是当鼠标滑过链接的时候,能够出现跟随鼠标指针移动的图层,在实际应用中,一般是对于链接的一些说明文字或者图片等等,下面是代码实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312">
<title>三水点靠木</title>
<style type="text/css">
body{
 margin:0;
 padding:40px;
 background:#fff;
 font:80% Arial, Helvetica, sans-serif;
 color:#555;
 line-height:180%;
}
a{
 text-decoration:none;
 color:#f30; 
}
p{
 clear:both;
 margin:0;
 padding:.5em 0;
}
img{border:none;}
#screenshot{
 position:absolute;
 border:1px solid #ccc;
 background:#333;
 padding:5px;
 display:none;
 color:#fff;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
this.screenshotPreview=function(){ 
 xOffset = 10;
 yOffset = 30;
 $("a.screenshot").hover(function(e){
 this.t = this.title;
 var c = (this.t != "") ? "<br/>" + this.t : "";
 $("body").append("<p id='screenshot'><img src='"+this.rel+"' />"+c+"</p>");   
 $("#screenshot")
 .css("top",(e.pageY - xOffset) + "px")
 .css("left",(e.pageX + yOffset) + "px")
 .fadeIn("fast");  
 },
 function(){
 this.title = this.t; 
 $("#screenshot").remove();
 }); 
 $("a.screenshot").mousemove(function(e){
 $("#screenshot")
 .css("top",(e.pageY-xOffset)+"px")
 .css("left",(e.pageX+yOffset)+"px");
 }); 
};
$(document).ready(function(){
 screenshotPreview();
});
</script>
</head>
<body>
<a href="#" class="screenshot" title="蚂蚁部落" rel="mytest/demo/thesmall.jpg">蚂蚁部落</a>欢迎您
</body>
</html>

效果图:

jQuery鼠标悬浮链接弹出跟随图片实例代码

以上代码实现了我们的要求,下面简单介绍一下实现过程:
代码注释:
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属性值,能够实现跟随效果。

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JAVASCRIPT IE 与 FF中兼容问题小结
Feb 18 Javascript
php析构函数的具体用法小结
Mar 11 Javascript
基于jquery固定于顶部的导航响应浏览器滚动条事件
Nov 02 Javascript
基于Javascript实现弹出页面效果
Jan 01 Javascript
JS实现鼠标滑过显示边框的菜单效果
Sep 21 Javascript
老生常谈javascript变量的命名规范和注释
Sep 29 Javascript
jQuery、zepto、js常用小技巧
Feb 12 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 Javascript
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
vue组件传值的实现方式小结【三种方式】
Feb 05 Javascript
js实现简单的轮播图效果
Dec 13 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
javascript仿百度输入框提示自动下拉补全
Jan 07 #Javascript
You might like
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
phpstrom使用xdebug配置方法
2013/12/17 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
JavaScript中json使用自己总结
2013/08/13 Javascript
node.js中watch机制详解
2014/11/17 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
JavaScript数据类型的存储方法详解
2017/08/25 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
关于python2 csv写入空白行的问题
2018/06/22 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
2020/08/04 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
智能电子应届生求职信
2013/11/10 职场文书
环保倡议书50字
2014/05/15 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
汽车销售合同文本
2019/08/08 职场文书
2019年自助餐厅创业计划书模板
2019/08/22 职场文书
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python