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 相关文章推荐
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
Sep 26 Javascript
javascript常用的正则表达式实例
May 15 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
Sep 10 Javascript
React创建组件的三种方式及其区别
Jan 12 Javascript
BootStrap CSS全局样式和表格样式源码解析
Jan 20 Javascript
JavaScript数组去重的6个方法
Jan 21 Javascript
原生js实现放大镜
Feb 20 Javascript
node中使用log4js4.x版本记录日志的方法
Aug 20 Javascript
JavaScript页面加载事件实例讲解
Sep 01 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
Nov 13 Javascript
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 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
有道搜索和IP138的IP的API接口(PHP应用)
2012/11/29 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
javascript RadioButtonList获取选中值
2009/04/09 Javascript
简单的js分页脚本
2009/05/21 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
js给onclick赋值传参数的两种方法
2013/11/25 Javascript
纯js实现重发验证码按钮倒数功能
2015/04/21 Javascript
在javascript中随机数 math random如何生成指定范围数值的随机数
2015/10/21 Javascript
3种js实现string的substring方法
2015/11/09 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
python实现日常记账本小程序
2018/03/10 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
python代码 输入数字使其反向输出的方法
2018/12/22 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python常用运维脚本实例小结
2020/02/14 Python
3种适用于Python的疯狂秘密武器及原因解析
2020/04/29 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
成语的广告词
2014/03/19 职场文书
品牌宣传方案
2014/03/21 职场文书
机关工会工作总结2015
2015/05/26 职场文书
Python WSGI 规范简介
2021/04/11 Python
js 数组 fill() 填充方法
2021/11/02 Javascript