JavaScript实现短暂提示框功能


Posted in Javascript onApril 04, 2018

业务场景:当鼠标移入某元素时,显示提示框进行介绍。当鼠标移除时,会自动消失。引入ToolTip.js和ToolTip.css

主方法:ToolTip.show(需要提示的元素id, 随意不重复即可, 要提示的html文本, 宽(可不指定), 高(可不指定));

ToolTip.show(obj, id, html, width, height);

效果如下:

1.显示文本:

JavaScript实现短暂提示框功能

2:显示图片

JavaScript实现短暂提示框功能

 3:显示网站

JavaScript实现短暂提示框功能

js代码:F:\Html5\Plugins\ToolTip\js\ToolTip.js    

(function () {
 var ToolTip = {};
 /**
 * 显示函数
 */
 ToolTip._showTip = function (parentId, childId, html, width, height) {
 var parent = document.getElementById(parentId)//要提示的元素
 var child = document.getElementById(childId);
 if (child === null) {//创建
  var toolTip = document.createElement("div");
  toolTip.classList = "ui-tooltip-box";
  toolTip.id = childId;
  toolTip.innerHTML = html;
  parent.appendChild(toolTip);
  toolTip.style.width = width ? width + "px" : "auto"
  toolTip.style.height = height ? height + "px" : "auto"
  //定位:
  toolTip.style.position = "absolute";
  toolTip.style.display = "block";
  var left = parent.offsetLeft;
  var top = parent.offsetTop;
  if (left + toolTip.offsetWidth > document.body.clientWidth) {
  left = document.body.clientWidth / 2;
  }
  toolTip.style.left = left + "px";
  toolTip.style.top = top + 20 + "px";
  parent.onmouseleave = function (ev) {
  setTimeout(function () { //延迟:
   document.getElementById(childId).style.display = "none";//隐藏
  }, 300);
  }
 } else {
  //显示
  document.getElementById(childId).style.display = "block";
 }
 },
 /**
  * 调用入口
  */
 ToolTip.show = function (parentId, childId, html, width, height) {
  var parent = document.getElementById(obj)
  parent.onmouseenter = function (ev) {
  ToolTip._showTip(parentId, childId, html, width, height)
  }
 }
 window.ToolTip = ToolTip;
})();//为防止污染,将方法写在匿名函数中

html代码:F:\Html5\Plugins\ToolTip\ToolTip.html

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>提示框</title>
 <link rel="stylesheet" type="text/css" href="ToolTip.css" rel="external nofollow" >
</head>
<body>
<div class="ui-tooltip-demo">
 <p><a class="ui-tooltip" id="tooltip-text">唐诗</a></p>
 <p><a class="ui-tooltip" id="tooltip-photo">背景图片</a></p>
 <p><a class="ui-tooltip" id="tooltip-poem">Yi人诗社</a></p>
</div>
<script src="js/ToolTip.js"></script>
<script>
//调用方式
 ToolTip.show("tooltip-text", "01", "唐诗泛指创作于唐朝的诗" +
 "。唐诗是中华民族最珍贵的文化遗产之一,是" +
 "中华文化宝库中的一颗明珠," +
 "同时也对世界上许多民族和国家的文化发展产生了很大影响," +
 "对于后人研究唐代的政治、民情、风俗、" +
 "文化等都有重要的参考意义和价值。",300,90);
 ToolTip.show("tooltip-photo", "02", "<img src=\"imgs/bg.jpg\" height=\"80px\">",150,80);
 var html='<iframe src="http://www.toly.top" width="480px" height="300px"/>'
 ToolTip.show("tooltip-poem", "03", html);
</script>
</body>
</html>

css代码:F:\Html5\Plugins\ToolTip\ToolTip.css

body {
 font-size: 14px;
 line-height: 1.8;
 background-image: url("imgs/bg.jpg");
}
.ui-tooltip-demo {
 width: 500px;
 margin: 30px auto;
 padding: 20px 30px;
 background-color: rgba(100%, 100%, 100%, 0.4);
 border-radius: 10px;
 text-align: center;
 box-shadow: 2px 1px 0px 3px rgba(0, 0, 0, 0.2);
}
.ui-tooltip-demo .ui-tooltip {
 color: #03f;
 font-size: 18px;
 cursor: help;
}
.ui-tooltip-box {
 display: block;
 background: #fff;
 line-height: 1.6;
 border: 1px solid #6cf;
 color: #333;
 padding: 20px;
 font-size: 12px;
 border-radius: 5px;
 overflow: auto;
}

总结

以上所述是小编给大家介绍的JavaScript实现短暂提示框,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
实现复选框全选/全不选切换
Dec 23 Javascript
浅析js设置控件的readonly与enabled属性问题
Dec 25 Javascript
在JavaScript中使用timer示例
May 08 Javascript
js中函数调用的两种常用方法使用介绍
Jul 17 Javascript
javascript使用avalon绑定实现checkbox全选
May 06 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
May 25 Javascript
详细解读JavaScript编程中的Promise使用
Jul 27 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
Apr 10 Javascript
详解wow.js中各种特效对应的类名
Sep 13 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
Sep 16 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
Nov 05 Javascript
uniapp开发打包多端应用完整方法指南
Dec 24 Javascript
Vue filter介绍及详细使用
Apr 04 #Javascript
在Vue项目中引入腾讯验证码服务的教程
Apr 03 #Javascript
详解如何用babel转换es6的class语法
Apr 03 #Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 #Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
Apr 03 #Javascript
使用react实现手机号的数据同步显示功能的示例代码
Apr 03 #Javascript
JS遍历DOM文档树的方法实例详解
Apr 03 #Javascript
You might like
php基础知识:函数基础知识
2006/12/13 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
QueryPath PHP 中的jQuery
2010/04/11 PHP
php下使用curl模拟用户登陆的代码
2010/09/10 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
PHP Reflection API详解
2015/05/12 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
基于jquery的图片懒加载js
2010/06/30 Javascript
JQUERY 设置SELECT选中项代码
2014/02/07 Javascript
Express的路由详解
2015/12/10 Javascript
JQuery实现DIV其他动画效果的简单实例
2016/09/18 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
2018/08/12 Javascript
Vue自定义多选组件使用详解
2020/09/08 Javascript
[01:03:54]Liquid vs IG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
python 统计代码行数简单实例
2017/05/04 Python
Python之文字转图片方法
2018/05/10 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Django中的静态文件管理过程解析
2019/08/01 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
银行门卫岗位职责
2013/12/29 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
MySQL 时间类型的选择
2021/06/05 MySQL