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 相关文章推荐
juqery 学习之三 选择器 层级 基本
Nov 25 Javascript
jQuery教程 $()包装函数来实现数组元素分页效果
Aug 13 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
Oct 28 Javascript
实例说明为什么不要行内使用javascript
Apr 18 Javascript
动态读取JSON解析键值对的方法
Jun 03 Javascript
js和jquery设置disabled属性为true使按钮失效
Aug 07 Javascript
辨析JavaScript中的Undefined类型与null类型
May 26 Javascript
关于javascript的一些知识以及循环详解
Sep 12 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
Apr 01 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
Jun 11 Javascript
AJAX学习笔记
May 18 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
phpmyadmin打开很慢的解决方法
2014/04/21 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
jQuery中的insertBefore(),insertAfter(),after(),before()区别介绍
2016/09/01 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
Nodejs回调加超时限制两种实现方法
2017/06/09 NodeJs
webpack4+react多页面架构的实现
2018/10/25 Javascript
python中dir函数用法分析
2015/04/17 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
详解python和matlab的优势与区别
2019/06/28 Python
python调用并链接MATLAB脚本详解
2019/07/05 Python
Python数据存储之 h5py详解
2019/12/26 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
pytorch SENet实现案例
2020/06/24 Python
OpenCV利用python来实现图像的直方图均衡化
2020/10/21 Python
详解Django中异步任务之django-celery
2020/11/05 Python
网络工程师个人的自我评价范文
2013/10/01 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
三严三实心得体会范文
2014/10/13 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技