博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
带箭头气泡提示框
阅读量:6582 次
发布时间:2019-06-24

本文共 5021 字,大约阅读时间需要 16 分钟。

hot3.png

  
  
 
Tips,带三角可关闭的文字提示   
 body{ font-size:12px;} .lj-tipsWrap,.lj-in,.lj-close{display:inline-block;} .lj-tipsWrap{background:#F4FBFF;line-height:1.5em;padding:5px 15px;border:1px solid #2192D3;position:absolute;text-align:left;} .lj-in{position:absolute;zoom:1;border:10px dashed transparent;width:0px;height:0px;} .lj-in span{zoom:1;width:0px;height:0px;overflow:hidden;} .lj-close{position:absolute; text-decoration:none;color:#000;font-size:14px; height:9px; width:9px; overflow:hidden;line-height:0.5em; right:0; top:0;} .lj-close:hover{color:#39F;} .lj-top{border-top:10px solid #2192D3;bottom:-20px; left:3px;} .lj-top span{border-top:10px solid #F4FBFF;margin:-11px 0 0 -10px;} .lj-right{border-right:10px solid #2192D3;left:-20px; top:3px;} .lj-right span{border-right:10px solid #F4FBFF;margin:-10px 0 0 -9px;} .lj-bottom{border-bottom:10px solid #2192D3;top:-20px; left:3px;} .lj-bottom span{border-bottom:10px solid #F4FBFF;margin:-9px 0 0 -10px;} .lj-left{border-left:10px solid #2192D3;right:-20px; top:3px; } .lj-left span{border-left:10px solid #F4FBFF;margin:-10px 0 0 -11px;} .lj-left ~ .lj-close{left:0;}/*css 3 渐进增强*/ .lj-tipsWrap{-webkit-border-radius:3px;-moz-border-radius:3px;-webkit-box-shadow:2px 2px 3px #eee;-moz-box-shadow:2px 2px 3px #eee;}  
 window.ljtips=function(){var i=document.body,j=document.documentElement,n=/msie\s([\d\.]+)/.test(navigator.userAgent.toLowerCase()),k=window;return function(l){var c=l?typeof l=="string"?document.getElementById(l):l:this,d=null,s=c.offsetWidth,t=c.offsetHeight,m=0,g=null,e={},o={left:function(a){return{top:d.top,left:d.left-a-15}},top:function(a,h){return{top:d.top-h-15,left:d.left}},right:function(){return{top:d.top,left:d.left+s+15}},bottom:function(){return{top:d.top+t+15,left:d.left}}};e.show= function(a){if(c.lock)c.lock=false;else{c.lock=true;d=c.getBoundingClientRect();var h=i.scrollTop+j.scrollTop,f=i.scrollLeft+j.scrollLeft;a.p=a.p||"right";var b=e.append(a.p,a.closeBtn||false);b.getElementsByTagName("DIV")[0].innerHTML=a.content;var p=o[a.p](b.offsetWidth,b.offsetHeight);b.style.top=p.top+h+"px";b.style.left=p.left+f+"px";a.time&&setTimeout(function(){e.clear(document.getElementById("lj"+m))},a.time);a.fn&&a.fn.call(c,document.getElementById("lj"+m));g=function(w,q){return function(){var u= i.scrollTop+j.scrollTop,v=i.scrollLeft+j.scrollLeft;d=c.getBoundingClientRect();var r=o[a.p](b.offsetWidth,b.offsetHeight);q.style.top=r.top+u+"px";q.style.left=r.left+v+"px"}}(c,b);n?k.attachEvent("onresize",g):k.addEventListener("resize",g,false)}};e.append=function(a,h){var f=m=Math.floor(Math.random()*1E4),b=document.createElement("DIV");b.id="lj"+f;b.innerHTML='
<%=r%>">
<%=p%>">
<%=r%>" class="lj-close">x'.replace("<%=p%>", a).replace(/<%=r%>/g,f);document.body.appendChild(b);if(h)document.getElementById("ljClose"+f).onclick=e.hide;else document.getElementById("ljClose"+f).style.display="none";return document.getElementById("tipsWrap-"+f)};e.clear=function(a){a&&a.parentNode&&a.parentNode.removeChild(a);n?k.detachEvent("onresize",g):k.removeEventListener("resize",g,false);c.lock=false};e.hide=function(){e.clear(document.getElementById("lj"+m))};return e}}();  

请划过或点击下面带框的文本

 
看我这里一个DIV
 
 
提示在我的下面出现
 
提示在左边出现
 
提示出现2秒后会自动消失
 
提示可以有关闭按钮
 
 
不同担心页面放大缩小会位置会偏移哦
  

优点

 
     
  • 1:兼容 各种浏览器
  •  
  • 2:自己定义TIPS样式(颜色),CSS3渐进增强
  •  
  • 3:多方向弹出提示
  •  
  • 4:纯CSS+javascript(不包含任何图片)
  •  
  • 5:体积超级小 CSS+js = 3k
  •  
 

参数配置

 
     
  • ljtips(object).show(JSON)
  •  
  • object: DOM对象ID(test1), DOM对象
  •  
  •  json:{ content:提示的消息内容(必须), p:提示框位置(可选值top left bottom right),默认为right(可选), closeBtn:是否有关闭按钮(true false) 默认值(false)(可选), time:多少毫秒提示框消失(可选) } 
  •  
 

使用说明

 
     
  • 主要方法 .show(); .hide();.clear(); 一般你只需要使用show,hide;
  •  
  • 使用1
  •  
  • 首先实例化一个ljtips(var tips=ljtips('test1')); 然后使用tips.show(JSON)
  •  
  • 使用2
  •  
  • 在行内调用提示框"
    "
  •  
  • 使用3
  •  
  • 在JS里调用document.getElementById("test6").onmouseover = function(){ljtips(this).show({content:"这个框你关不掉了吧!没有关闭按钮!",p:'right'})};
  •  
 
 var test1 = ljtips('test1'); document.getElementById("test1").onmouseover = function(){test1.show({content:"鼠标划过时候的TIPS...
兼容主流浏览器 IE 6 7 8 chorme Firefox Opera Safari"})}; document.getElementById("test1").onmouseout = function(){test1.hide();}; document.getElementById("test2").onfocus = function(){ljtips(this).show({content:"这个提示会在
input的上方!有个关闭按钮哦",p:'top',closeBtn:true})}; document.getElementById("test3").onmouseover = function(){ljtips(this).show({content:"我在下面出现了!不要认为会用到图片哦!",p:'bottom',closeBtn:true})}; document.getElementById("test4").onmouseover = function(){ljtips(this).show({content:"我可以在4个方向上",p:'left',closeBtn:true})}; document.getElementById("test5").onmouseover = function(){ljtips(this).show({content:"提示出现2秒后会自动消失",p:'bottom',time:2000})}; document.getElementById("test6").onmouseover = function(){ljtips(this).show({content:"这个框你关不掉了吧!没有关闭按钮!",p:'right'})}; document.getElementById("test7").onmouseover = function(){ljtips(this).show({content:"您可以放大或者缩小浏览器窗口!
他会跟随这个绝对位置,不会有丝毫偏差。",p:'right',closeBtn:true})};   

转载于:https://my.oschina.net/4k9LCGA/blog/534826

你可能感兴趣的文章
js混淆 反混淆 在线
查看>>
Linux ftp
查看>>
大规模分布式数据处理平台Hadoop的介绍 一种可靠、高效、可伸缩的处理方案
查看>>
python中的Iterable, Iterator,生成器概念
查看>>
WinForm 之 程序启动不显示主窗体
查看>>
ios硬件编码
查看>>
【Network】Calico, Flannel, Weave and Docker Overlay Network 各种网络模型之间的区别
查看>>
【转】Oracle索引的类型
查看>>
FragmentTransaction.replace() 你不知道的坑
查看>>
分布式消息队列 Kafka
查看>>
模拟退火算法
查看>>
Solr 按照得分score跟指定字段相乘排序
查看>>
GoogleMapsV3-----基础地图(自定义消息提示OverlayView) (转)
查看>>
create database link
查看>>
shouldAutoRotate Method Not Called in iOS6
查看>>
Sql Server系列:Transact-SQL变量
查看>>
ADF_Database Develop系列1_通过UML数据库开发之建Logical UML Class Model
查看>>
SQL Server表分区的NULL值问题
查看>>
JavaScript学习笔记——DOM_对document对象的内容、属性、样式的操作
查看>>
Linux系统调用
查看>>