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 相关文章推荐
文本框的字数限制功能jquery插件
Nov 24 Javascript
js实现兼容IE6与IE7的DIV高度
May 13 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
Nov 10 Javascript
JS获取单击按钮单元格所在行的信息
Jun 17 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
May 24 Javascript
微信小程序 input输入框详解及简单实例
Jan 10 Javascript
vue中v-model的应用及使用详解
Jun 27 Javascript
vue服务端渲染缓存应用详解
Sep 12 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 Javascript
vue倒计时刷新页面不会从头开始的解决方法
Mar 03 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 Javascript
vue移动端下拉刷新和上滑加载
Oct 27 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
谈谈新手如何学习PHP
2006/12/23 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
PHP与jquery实时显示网站在线人数实例详解
2016/12/02 PHP
实例讲解PHP表单验证功能
2019/02/15 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
用JS实现的一个include函数
2007/07/21 Javascript
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
MooTools 1.2中的Drag.Move来实现拖放
2009/09/15 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
2019/08/20 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
vue实现侧边栏导航效果
2019/10/21 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
Python监控主机是否存活并以邮件报警
2015/09/22 Python
python类的继承实例详解
2017/03/30 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
Python 变量类型详解
2018/10/10 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Keras自定义IOU方式
2020/06/10 Python
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
幼儿园教师自我鉴定
2014/03/20 职场文书
住宅质量保证书
2014/04/29 职场文书
交通事故赔偿协议书怎么写
2014/10/04 职场文书
公司股份转让协议书范本
2015/01/28 职场文书
党员读书活动心得体会
2016/01/14 职场文书
详解Go语言中配置文件使用与日志配置
2022/06/01 Golang