这是html:

首页  >  文章  >  web前端  >  JS CSS实现一个气泡提示框_javascript技巧

JS CSS实现一个气泡提示框_javascript技巧

WBOY
WBOY原创
2016-05-16 17:25:171534浏览

分享一个气泡提示框,练习的技术有:(1)JS响应鼠标的事件;(2)纯CSS制作三角形。

效果这样:
JS CSS实现一个气泡提示框_javascript技巧 
这是html:

复制代码 代码如下:





气泡对话框



气泡对话框

鼠标放于此处,会弹出一个气泡对话框。

[Click to edit.]

 


这是JavaScript代码:



function showToolTip(e,text){ <br>if(document.all)e = event; <br>var obj = document.getElementById('bubble_tooltip'); <br>var obj2 = document.getElementById('bubble_tooltip_content'); <br>obj2.innerHTML = text; <br>var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop); <br>if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; <br>var leftPos = e.clientX   20; //clientX 事件属性返回当事件被触发时鼠标指针相对于浏览器页面(或客户区)的水平坐标 <br>if(leftPos<0)leftPos = 0; <BR>obj.style.left = leftPos   'px'; <BR>obj.style.top = e.clientY   st   'px'; <BR>obj.style.display = 'block'; <BR>fadeIn(obj,5,100); <BR>} <br><br>function hideToolTip() <BR>{ <BR>var obj = document.getElementById('bubble_tooltip'); <BR>//obj.style.display = 'none'; <BR>fadeOut(obj,5,0); <BR>} <br><br>//设置元素透明度,透明度值按IE规则计,即0~100 <BR>function SetOpacity(ev, v){ <BR>ev.filters ? ev.style.filter = 'alpha(opacity='   v   ')' : ev.style.opacity = v / 100; <BR>} <br><br>//淡入效果(含淡入到指定透明度) <BR>function fadeIn(elem, speed, opacity){ <BR>/* <BR>* 参数说明 <BR>* elem==>需要淡入的元素 <br>* speed==>淡入速度,正整数(可选) <br>* opacity==>淡入到指定的透明度,0~100(可选) <br>*/ <br>speed = speed || 20; <br>opacity = opacity || 100; <br>//显示元素,并将元素值为0透明度(不可见) <br>elem.style.display = 'block'; <br>SetOpacity(elem, 0); <br>//初始化透明度变化值为0 <br>var val = 0; <br>//循环将透明值以2递增,即淡入效果 <br>(function(){ <br>SetOpacity(elem, val); <br>val  = 5; <br>if (val <= opacity) { <BR>setTimeout(arguments.callee, speed) <BR>} <BR>})(); <BR>} <br><br>//淡出效果(含淡出到指定透明度) <BR>function fadeOut(elem, speed, opacity){ <BR>/* <BR>* 参数说明 <BR>* elem==>需要淡入的元素 <br>* speed==>淡入速度,正整数(可选) <br>* opacity==>淡入到指定的透明度,0~100(可选) <br>*/ <br>speed = speed || 20; <br>opacity = opacity || 0; <br>//初始化透明度变化值为0 <br>var val = 100; <br>//循环将透明值以5递减,即淡出效果 <br>(function(){ <br>SetOpacity(elem, val); <br>val -= 5; <br>if (val >= opacity) { <br>setTimeout(arguments.callee, speed); <br>}else if (val < 0) { <br>//元素透明度为0后隐藏元素 <br>elem.style.display = 'none'; <br>} <br>})(); <br>}





 
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn