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 相关文章推荐
js各种验证文本框输入格式(正则表达式)
Oct 22 Javascript
js判断样式className同时增加class或删除class
Jan 30 Javascript
有关Promises异步问题详解
Nov 13 Javascript
JS区分浏览器页面是刷新还是关闭
Apr 17 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
node.js的事件机制
Feb 08 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 Javascript
vue单页应用中如何使用jquery的方法示例
Jul 27 jQuery
vue.js删除列表中的一行
Jun 30 Javascript
Vue.js 利用v-for中的index值实现隔行变色
Aug 01 Javascript
js单线程的本质 Event Loop解析
Oct 29 Javascript
JavaScript对象原型链原理详解
Feb 05 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
php实现获取文件mime类型的方法
2015/02/11 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
2011/10/21 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
JS实现图片放大镜插件详解
2017/11/06 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
浅谈react性能优化的方法
2018/09/05 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
微信小程序入门之绘制时钟
2020/10/22 Javascript
python实现解数独程序代码
2017/04/12 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
利用Tkinter和matplotlib两种方式画饼状图的实例
2017/11/06 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
python爬取网易云音乐评论
2018/11/16 Python
python批量获取html内body内容的实例
2019/01/02 Python
python按照多个条件排序的方法
2019/02/08 Python
python sqlite的Row对象操作示例
2019/09/11 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
python中format函数如何使用
2020/06/22 Python
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
J2EE面试题集锦(附答案)
2013/08/16 面试题
旅游管理专业生自荐信范文
2014/01/02 职场文书
银行领导证婚词
2014/01/11 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫
MYSQL优化之数据表碎片整理详解
2022/04/03 MySQL