jQuery自制提示框tooltip改进版


Posted in Javascript onAugust 01, 2016

自带的title的提示效果的响应速度是非常缓慢的,使用jQuery自制提示tooltip!

jQuery自制提示框tooltip改进版

HTML:

<p><a href="#" title="超链接提示1" class="tooltip">提示1</a></p>
<p><a href="#" title="超链接提示2" class="tooltip">提示2</a></p>
<p><a href="#" title="自带超链接提示1">自带超链接提示1</a></p>
<p><a href="#" title="自带超链接提示2">自带超链接提示2</a></p>

CSS:

p a{display: block;width:150px;height:50px;line-height:50px;
    background:#FF3366;color:#fff;border-radius: 3px;text-align: center;}
  #tooltip{position:absolute;width:200px;height:50px;line-height:50px;border:1px solid #ccc;text-align: center;box-shadow: 1px 1px 2px #ccc;background:#fff;border-radius:5px;}

JQ:

$(function(){
    var x=10,y=20;//使得鼠标相对于tooltip偏离的距离
    $("a.tooltip").mouseover(function(e){
      this.myTitle=this.title;//获取title,临时存储
      this.title="";//避免和原生提示重复

      var tooltip="<div id='tooltip'>"+this.myTitle+"</div>";
      $("body").append(tooltip);
      //css()设置样式
      $("#tooltip").css({
        "top":(e.pageY+y)+"px",//e.pageX相对与文档,e.clientX相对于可视区
        "left":(e.pageX+x)+"px",
      }).show("fast");
    }).mouseout(function(){
      this.title=this.myTitle;//重复恢复
      $("#tooltip").remove();//记得要把生成的结点移除掉
    }).mousemove(function(e){
      $("#tooltip").css({
        "left":(e.pageX+x)+"px",
        "top":(e.pageY+y)+"px",
      });
    });
  });

改进版:将上面的tooltip内容加上图片预览!

jQuery自制提示框tooltip改进版

JQ:

$(function(){
    var x=10,y=20;
    $("a.tooltip").mouseover(function(e){
      this.myTitle=this.title;
      this.title="";
      var imgTitle=this.myTitle?"<br/><span id='tooltipspan'>"+this.myTitle+"</span>":"";
      var tooltip="<div id='tooltip'><img src='"+this.href+"' alt='产品预览图'/>"+imgTitle+"</div>";
      $("body").append(tooltip);
      $("#tooltip").css({
        "top":(e.pageY+y)+"px",
        "left":(e.pageX+x)+"px",
      }).show("fast");
    }).mouseout(function(){
      this.title=this.myTitle;
      $("#tooltip").remove();
    }).mousemove(function(e){
      $("#tooltip").css({
        "top":(e.pageY+y)+"px",
        "left":(e.pageX+x)+"px",
      })
    });
  });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
常用js字符串判断方法整理
Oct 18 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
jQuery中dom元素上绑定的事件详解
Apr 24 Javascript
AngularJS创建自定义指令的方法详解
Nov 03 Javascript
JS非行间样式获取函数的实例代码
Jun 05 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
Mar 16 Javascript
浅谈对于react-thunk中间件的简单理解
May 01 Javascript
基于Vue SEO的四种方案(小结)
Jul 01 Javascript
JS检测浏览器开发者工具是否打开的方法详解
Oct 02 Javascript
JS前端基于canvas给图片添加水印
Nov 11 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 Vue.js
Three.js学习之文字形状及自定义形状
Aug 01 #Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 #Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 #Javascript
基于原生JS实现图片裁剪
Aug 01 #Javascript
AngularJS基础 ng-include 指令简单示例
Aug 01 #Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
Aug 01 #Javascript
AngularJS基础 ng-if 指令用法
Aug 01 #Javascript
You might like
MySQL修改密码方法总结
2008/03/25 PHP
基于empty函数的判断详解
2013/06/17 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
Angular的$http与$location
2016/12/26 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
JS中正则表达式全局匹配模式 /g用法详解
2017/04/01 Javascript
JavaScript错误处理和堆栈追踪详解
2017/04/18 Javascript
Node.js中读取TXT文件内容fs.readFile()用法
2018/10/10 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
python抓取京东商城手机列表url实例代码
2013/12/18 Python
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
python+pyqt实现右下角弹出框
2017/10/26 Python
python实现简易数码时钟
2021/02/19 Python
10款最好的Python开发编辑器
2019/07/03 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
一款纯css3实现的响应式导航
2014/10/31 HTML / CSS
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
小加工厂管理制度
2014/01/21 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
教师节大会主持词
2015/07/06 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
javaScript Array api梳理
2021/03/31 Javascript
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python