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 相关文章推荐
ExtJS 2.0实用简明教程 之ExtJS版的Hello
Apr 29 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
Dec 27 Javascript
写JQuery插件的基本知识
Nov 25 Javascript
jquery 按键盘上的enter事件
May 11 Javascript
JavaScript事件委托实例分析
May 26 Javascript
Javascript中prototype的使用详解
Jun 18 Javascript
轻松掌握JavaScript策略模式
Aug 25 Javascript
JS实现的适合做faq或menu滑动效果示例
Nov 17 Javascript
基于jQuery实现的幻灯图片切换
Dec 02 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
Feb 09 Javascript
fullPage.js和CSS3实现全屏滚动效果
May 05 Javascript
利用vueJs实现图片轮播实例代码
Jun 03 Javascript
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
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
2011/11/07 PHP
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
微信支付的开发流程详解
2016/09/13 PHP
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
2018/07/07 Javascript
vue.js template模板的使用(仿饿了么布局)
2018/08/13 Javascript
从0到1搭建Element的后台框架的方法步骤
2019/04/10 Javascript
js module大战
2019/04/19 Javascript
基于javascript实现放大镜特效
2020/12/03 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
Python函数学习笔记
2008/10/07 Python
python映射列表实例分析
2015/01/26 Python
Python序列操作之进阶篇
2016/12/08 Python
Python元字符的用法实例解析
2018/01/17 Python
python3中的md5加密实例
2018/05/29 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
在python中利用pycharm自定义代码块教程(三步搞定)
2020/04/15 Python
Java多线程实现四种方式原理详解
2020/06/02 Python
python的pip有什么用
2020/06/17 Python
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
英文自荐信常用句子
2014/03/26 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
精神文明建设标语
2014/06/16 职场文书
信用卡工资证明格式
2014/09/13 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
python基础之错误和异常处理
2021/10/24 Python
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers