这是html:
Maison > interface Web > js tutoriel > JS+CSS实现一个气泡提示框_javascript技巧

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-05-16 17:25:17
original
1627 Les gens l'ont consulté

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

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

复制代码 代码如下:





气泡对话框



复制代码 代码如下:

/*尖端指向左侧的三角形,外缘*/
.triRight{
z-index: 2;
border: 10px solid #AAAAAA;
border-color: transparent #AAAAAA transparent transparent;
width: 0;
height: 0;
position: absolute;
left:-20px;
top: 5px;
}

复制代码 代码如下:

/*尖端指向左侧的三角形,内部,*/
Copier après la connexion
.triRightInner{ z-index: 3; border: 8px solid #FEFAB8; border-color: transparent #FEFAB8 transparent transparent;/*颜色应与提示框的background-color一致*/

width: 0; height: 0; position: absolute; left:-16px; top:7px;}

气泡对话框

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

[Click to edit.]

Copier après la connexion


这是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>}
Copier après la connexion





Copier après la connexion

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal