web前端|js教程
JavaScript,Tooltip,浮动提示框
web前端-js教程
这篇文章主要为大家详细介绍了原生JavaScript设计和实现Tooltip浮动提示框特效,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
商城后台管理系统源码下载,vscode写word文档,ubuntu还是wince,tomcat不记日志,房间爬虫,php网页重定向,杭州seo排名软件咨询,php政府网站红色系统,特效很牛的个人网站模板lzw
使用原生JavaScript设计和实现Tooltip浮动提示框特效,了解代码简化、事件绑定、事件冒泡等技巧和知识。
android 源码包,微软平板能下vscode吗,ubuntu资料,jetty部署到tomcat,支持sqlite主机,自动网页设计,kt服务器出租,ppt 3d 插件,aug前端框架,爬虫进行监测,php网易云,排名seo优化按天收费,springboot部署调优,游戏介绍网站模板,html5网页免费模板,物流网站前端模板下载,dedecms后台css修改,响应式的登录页面,考试报名管理系统源码,微信小程序论坛代码lzw
特效四个关键点:
传奇时时彩源码,vscode设置剪切板,ubuntu 缩放窗口,tomcat部署的工程,python原生爬虫,php合并2个数组,seo泛目录怎么操作推广,PHP时钟网站源码,男科医院 响应式 手机模板lzw
显示:鼠标移到ToolTip超链接上时,ToolTip提示框可以显示出来
隐藏:鼠标移开时,ToolTip提示框自动隐藏
定位:ToolTip提示框的位置需要根据ToolTip超链接的位置来设置
可配置:ToolTip提示框可以根据参数不同,改变尺寸和显示内容
注意点:
1)border-radius和 box-shadow兼容写法
2)不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。对应mouseout
只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。对应mouseleave
3)W3C规定不允许内联元素嵌套块级元素 ,其中的a链接嵌套了p,可能不符合W3C标准( tip:他是移入a链接的时候在a链接中创建的p )
简单的函数封装写法(便于引用,缩短代码量):
1)通过元素的id获得元素的DOM引用
var $ = function(id){return document.getElementById(id); }
2)绑定事件的函数
function addEvent(obj,event,fn){ //要绑定的元素对象,要绑定的事件,触发的回调函数if(obj.addEventListener){ //非IE,支持冒泡和捕获obj.addEventListenner(event,fn,false);}else if(obj.attachEvent){ //IE,只支持冒泡obj.attachEvent(on+event,fn);}}
效果如图:
xxxxxxxx
var toolTipBox; toolTipBox = document.createElement(p); toolTipBox.className = "tooltip-box"; toolTipBox.id = id; toolTipBox.innerHTML = html; obj.appendChild(toolTipBox); toolTipBox.style.width = width ? width + px:"auto"; toolTipBox.style.height = height ? height + px:"auto"; if(!width && isIE){toolTipBox.style.width = toolTipBox.offsetWidth;//因为IE不支持auto属性 } toolTipBox.style.position = absolute; toolTipBox.style.display = lock; var left = obj.offsetLeft; var top = obj.offsetTop + 20; //当浏览器窗口缩小时不让提示框超出浏览器 if(left + toolTipBox.offsetWidth > document.body.clientWidth){var demoLeft = demo.offsetLeft;left = document.body.clientWidth - toolTipBox.offsetWidth - demoLeft;if(left < 0)left = 0; } toolTipBox.style.left = left + px; toolTipBox.style.top = top + px; addEvent(obj,"mouseleave" ,function(){setTimeout(function(){ $(id).style.display = one;},300); });}else{ //显示 $(id).style.display = lock;} } //事件冒泡addEvent(demo,mouseover,function(e){ var event = e || window.event; var target = event.target || event.srcElement;//IE下,event对象有srcElement属性,但是没有target属性; //Firefox下,event对象有target属性,但是没有srcElement属性.但他们的作用是相当的 //event.srcElement:表示的当前的这个事件源。 if(target.className == "tooltip"){ var _html; var _id; var _width = 200; switch (target.id){case "tooltip1": _id = "t1"; _html = "中华人民共和国"; break;case "tooltip2": _id = "t2"; _html = "美国篮球职业联赛"; break;case "tooltip3": _id = "t3"; _html = "春晓
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
"; _width = 100; break;case "tooltip4": _id = "t4"; _html = ""; _width = 520; break;case "tooltip5": _id = "t5"; _html = "
昵称一定要长
我的简介我的简介
"; _width = 300; break;case "tooltip6": _id = "t6"; _html = ""; _width = 500; break; } showTooltip(target,_id,_html,_width); }}); /* var t1 = $("tooltip1"); var t2 = $("tooltip2"); var t3 = $("tooltip3"); var t4 = $("tooltip4"); var t5 = $("tooltip5"); var t6 = $("tooltip6"); t1.onmouseenter = function () {showTooltip(this, "t1", 中华人民共和国, 200); }; t2.onmouseenter = function () {showTooltip(this, "t2", 美国篮球职业联赛, 200); }; t3.onmouseenter = function () {showTooltip(this, "t3", 春晓
春眠不觉晓,
处处闻啼鸟。
夜来风雨声,
花落知多少。
, 100); }; t4.onmouseenter = function () {showTooltip(this, "t4", \, 520); }; t5.onmouseenter = function () {var _html =
昵称一定要长
我的简介我的简介
;showTooltip(this, "t5", _html, 300); }; t6.onmouseenter = function () {var _html = \showTooltip(this, "t6", _html, 500); };*/ }
原生JavaScript实现ToolTip效果
ToolTip效果是非常常见的网页特效,它可以在用户将指针放置在控件上时为用户显示提示信息。 比如简称文字显示一行文字全称,例:中国, NBA。 又比如显示一段文字,例:唐诗三百首中的春晓你会么?如果不看tooltip提示你背不出来的话,那么你 可要加油了。
ToolTip效果还可以用来显示图片,例:西湖美景。当然显示一块儿带格式的内容也不在话下,例: 我的资料。
甚至你可以显示一整个网站:例:慕课网。
注意好的ToolTip需要考虑样式、效果、页面的边界等信息,希望你可以做出更漂亮的ToolTip效果。