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 相关文章推荐
javascript firefox不显示本地预览图片问题的解决方法
Nov 12 Javascript
用JavaScript显示随机图像或引用
Apr 21 Javascript
jQuery之ajax技术的详细介绍
Jun 19 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
Jan 30 Javascript
Javascript中使用parseInt函数需要注意的问题
Apr 02 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
Mar 29 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
原生JS实现圣旨卷轴展开效果
Mar 06 Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
Feb 02 Javascript
js实现上传按钮并显示缩略图小轮子
May 04 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
第四节 构造函数和析构函数 [4]
2006/10/09 PHP
js 操作select相关方法函数
2009/12/06 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
JavaScript数据结构和算法之二叉树详解
2015/02/11 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
layui问题之模拟select点击事件的实例讲解
2018/08/15 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
python K近邻算法的kd树实现
2018/09/06 Python
使用numba对Python运算加速的方法
2018/10/15 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
python使用PyQt5的简单方法
2019/02/27 Python
使用python PIL库实现简单验证码的去噪方法步骤
2019/05/10 Python
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
介绍一下Python中webbrowser的用法
2013/05/07 面试题
总经理驾驶员岗位职责
2013/12/04 职场文书
师范院校学生自荐信范文
2013/12/27 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
2015年组织部工作总结
2015/04/03 职场文书
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers