JQuery实现超链接鼠标提示效果的方法


Posted in Javascript onJune 10, 2015

本文实例讲述了JQuery实现超链接鼠标提示效果的方法。分享给大家供大家参考。具体分析如下:

浏览器其实已经自带了超链接提示,只需在超链接中加入title属性就可以了。但是这个提示效果的响应速度是非常缓慢的,大概要延迟1秒左右啊。我们现在需要的是当鼠标移动到超链接的那一瞬间就出现提示。这时就需要移除a标签中的title提示效果,自己动手做一个类似功能的提示。

HTML设计如下:

<p><a href="https://3water.com/" class="tooltip" title="欢迎访问三水点靠木">欢迎访问三水点靠木</a></p>

然后为class为tooltip的超链接添加mouseover和mouseout事件:

$("a.tooltip").mouseover(function (){  
    //显示 title  
}).mouseout(function (){  
    //隐藏 title  
});

实现这个效果的具体思路如下:

1. 当鼠标滑入超链接时, 创建一个div元素,div元素的内容为title属性的值。然后将创建的元素追加到文档中。为它设置x坐标和y坐标,使它显示在鼠标位置的旁边。
2. 当鼠标滑出超链接时,移除div元素。

根据分析的思路,写出如下JQuery代码:

$(function(){  
  var x = 10;   
  var y = 20;  
  $("a.tooltip").mouseover(function(e){  
    this.myTitle = this.title;  
    this.title = "";    
    var tooltip = "<div id='tooltip'>"+ this.myTitle +"<\/div>";
    //创建 div 元素  
    $("body").append(tooltip); //把它追加到文档中  
    $("#tooltip")  
      .css({  
        "top": (e.pageY + y) + "px",  
        "left": (e.pageX + x) + "px" 
      }).show("fast"); //设置x坐标和y坐标,并且显示  
  }).mouseout(function(){    
    this.title = this.myTitle;  
    $("#tooltip").remove(); //移除  
  });  
});

此时的效果有两个问题:首先是当鼠标滑过后,a标签中的title属性的提示也会出现:其次是设置x坐标和y坐标的问题,由于自制的提示与鼠标的距离太近,有时候会引起无法提示的问题(鼠标焦点变化引起mouseout事件)。

为了移除a标签中的title提示功能,需要进行以下几个步骤:

1. 当鼠标滑入时,给对象添加一个新属性,并把title的值传给这个属性,然后清空属性title的值。

this.myTitle = this.title;  
s.title = "";   
var tooltip = "<div id='tooltip'>"+ this.myTitle +"<\/div>";
//创建 div 元素

2. 当鼠标滑出时,再把对象的myTitle属性的值又赋给属性title。

this.title = this.myTitle;

为什么当鼠标滑出时,要把属性值又赋给属性title呢?因为当鼠标滑出时,需要考虑再次滑入时的属性title值,如果不将myTitle的值重新赋给title属性,当再次滑入时,title的值就为空了。

为了解决第2个问题,需要重新设置提示元素的top和left的值,代码如下所示,为top增加了10px,为left增加了20px:

var x = lO;  
var y = 20;  
$("#tooltip").css({  
    "top": (e.pageY+y) + "px",  
    "left": (e.pageX+x) + "px" 
});

OK,到这里问题都解决了,鼠标超链接提示效果实现。

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
图解JavaScript中的this关键字
May 28 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
JavaScript实现的反序列化json字符串操作示例
Jul 18 Javascript
开发用到的js封装方法(20种)
Oct 12 Javascript
基于vue的验证码组件的示例代码
Jan 22 Javascript
vue中使用极验验证码的方法(附demo)
Dec 04 Javascript
vue 判断元素内容是否超过宽度的方式
Jul 29 Javascript
jQuery实现图片切换效果
Oct 19 jQuery
JavaScript 中for/of,for/in 的详细介绍
Nov 17 Javascript
JS setTimeout与setInterval的区别
Apr 20 Javascript
jquery序列化方法实例分析
Jun 10 #Javascript
jQuery实现dialog设置focus焦点的方法
Jun 10 #Javascript
jQuery替换textarea中换行的方法
Jun 10 #Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 #Javascript
JavaScript中getUTCMinutes()方法的使用详解
Jun 10 #Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
Jun 10 #Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 #Javascript
You might like
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
javascript 面向对象编程基础:继承
2009/08/21 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
关闭页面时window.location事件未执行的原因分析及解决方案
2014/09/01 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
javascript实现5秒倒计时并跳转功能
2019/06/20 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
django的登录注册系统的示例代码
2018/05/14 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
Python变量访问权限控制详解
2019/06/29 Python
python字符串查找函数的用法详解
2019/07/08 Python
Python将文字转成语音并读出来的实例详解
2019/07/15 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
python3连接mysql获取ansible动态inventory脚本
2020/01/19 Python
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
小学班长竞选演讲稿
2014/04/24 职场文书
应届毕业生自荐信
2014/05/28 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
党支部考察意见范文
2015/06/02 职场文书
大学新生入学感想
2015/08/07 职场文书
导游词之秦始皇兵马俑博物馆
2019/09/29 职场文书