本文实例讲述了JQuery实现超链接鼠标提示效果的方法。分享给大家供大家参考。具体分析如下:
浏览器其实已经自带了超链接提示,只需在超链接中加入title属性就可以了。但是这个提示效果的响应速度是非常缓慢的,大概要延迟1秒左右啊。我们现在需要的是当鼠标移动到超链接的那一瞬间就出现提示。这时就需要移除a标签中的title提示效果,自己动手做一个类似功能的提示。
HTML设计如下:
然后为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 = ""+ 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 = ""+ 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程序设计有所帮助。
写下你的评论吧 !推荐阅读
本文介绍了基于Java的在线办公工作流系统的毕业设计方案,涵盖了MyBatis框架的应用、源代码分析、调试与部署流程、数据库设计以及相关论文撰写指导。 ... [详细]蜡笔小新 2024-11-25 10:21:47 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]蜡笔小新 2024-11-22 17:48:42 CSS模块化命名 ... [详细]蜡笔小新 2024-11-25 16:58:20 本文介绍了两个重要的Node.js库——cache-content-type和mime-types,它们在处理HTTP响应头时非常有用。cache-content-type是基于mime-types构建的,并且实现了缓存机制以提高性能。 ... [详细]蜡笔小新 2024-11-25 16:51:02 本文详细介绍了如何在ReactJS项目中集成Onsen-UI的ActionSheetButton组件,并通过具体示例展示了其使用方法及效果。 ... [详细]蜡笔小新 2024-11-25 13:04:57 现在的新手程序猿,动不动就是框架,就连外面培训的也是框架,我就问一句,没了框架是不是就啥也不会了 ... [详细]蜡笔小新 2024-11-25 12:37:01 本文介绍了如何利用IntelliJ IDEA中的BashSupport插件来增强Shell脚本的开发体验,包括插件的安装、配置以及脚本的运行方法。 ... [详细]蜡笔小新 2024-11-25 11:20:34 我在尝试将组合框转换为具有自动完成功能时遇到了一个问题,即页面上的列表框也被转换成了自动完成下拉框,而不是保持原有的多选列表框形式。 ... [详细]蜡笔小新 2024-11-24 12:02:48 本文提供了一个详尽的前端开发资源列表,涵盖了从基础入门到高级应用的各个方面,包括HTML5、CSS3、JavaScript框架及库、移动开发、API接口、工具与插件等。 ... [详细]蜡笔小新 2024-11-23 12:05:53 本文介绍了在控制器中返回JSON结果的方法,并详细说明了如何利用jQuery处理和展示这些数据,为Web开发提供了实用的技巧。 ... [详细]蜡笔小新 2024-11-23 10:41:31 本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]蜡笔小新 2024-11-22 16:27:56 本文介绍了如何利用jQuery实现对网页上多个div元素的显示与隐藏控制,包括基本的toggle方法及更复杂的显示隐藏逻辑。 ... [详细]蜡笔小新 2024-11-21 19:38:53 本文探讨了如何通过优化 DOM 操作来提升 JavaScript 的性能,包括使用 `createElement` 函数、动画元素、理解重绘事件及处理鼠标滚动事件等关键主题。 ... [详细]蜡笔小新 2024-11-21 18:16:19 手机用户2502906225这个家伙很懒,什么也没留下!Tags | 热门标签RankList | 热门文章
- 1web标准(复习)8
- 2目前项目未升级到Andridx,怎样拉取升级至Androidx之前的版本呢?谢谢!
- 3电视冻成冰疙瘩还能看!俄罗斯老人点赞中国制造
- 4杭州PHP大厂有哪些(2023年最新分享)
- 52016淘宝双11大额红包怎么抢?淘宝双十一疯抢1111元红包入口及攻略
- 6PHP算法使用__call优化代码
- 7【Java面试】简单说一下你对序列化和反序列化的理解
- 8c语言基础编写,c语言 基础
- 9pyspider import projects 时报 No module named 'projects' 错误
- 10Python15行代码实现免费发送手机短信,推送消息「建议收藏」
- 11读手语图像识别论文笔记2
- 12用kryonet时kryo报buffer underflow错误
- 13Mysql1:数据库表操作,增删改查举例
- 14利用空间换时间减少时间复杂度以及以C语言字符串处理为例减少空间复杂度
- 15《渔家傲》翻译 原文赏析诗人宋黄裳
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有