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 相关文章推荐
json格式化/压缩工具 Chrome插件扩展版
May 25 Javascript
基于jQuery的前端数据通用验证库
Aug 08 Javascript
原生的html元素选择器类似jquery选择器
Oct 15 Javascript
纯JS实现旋转图片3D展示效果
Apr 12 Javascript
基于Angularjs实现分页功能
May 30 Javascript
详解js中Json的语法与格式
Nov 22 Javascript
jQuery联动日历的实例解析
Dec 02 Javascript
Vue的Flux框架之Vuex状态管理器
Jul 30 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
详解angularjs popup-table 弹出框表格指令
Sep 20 Javascript
vue移动端弹框组件的实例
Sep 25 Javascript
详解Vue slot插槽
Nov 20 Vue.js
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
世界收音机发展史
2021/03/01 无线电
Codeigniter的一些优秀特性总结
2015/01/21 PHP
PHP之浮点数计算比较以及取整数不准确的解决办法
2015/07/29 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
定义select的边框颜色
2008/04/28 Javascript
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
javascript:void(0)是什么意思示例介绍
2013/11/17 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
JS中处理时间之setUTCMinutes()方法的使用
2015/06/12 Javascript
smartcrop.js智能图片裁剪库
2015/10/14 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
在react-router4中进行代码拆分的方法(基于webpack)
2018/03/08 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
vue实现图片上传功能
2020/05/28 Javascript
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
python调用外部程序的实操步骤
2019/03/04 Python
PyQt5实现简易计算器
2020/05/30 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
python selenium 执行完毕关闭chromedriver进程示例
2019/11/15 Python
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
一套SQL笔试题
2016/08/14 面试题
学生会竞选自荐信
2013/10/12 职场文书
初中三年学生的学习自我评价
2013/11/13 职场文书
《鲸》教学反思
2016/02/23 职场文书
python基础入门之字典和集合
2021/06/13 Python
Pytest中skip skipif跳过用例详解
2021/06/30 Python
我的收音机情缘
2022/04/05 无线电