自定义 自动隐藏提示 - tip

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29326717/article/details/83046630

tip.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>tip效果</title>
</head>
<body>
	
	<script src="tip.js"></script>
	<script>
		tipFun('你好');
	</script>
</body>
</html>

tip.js

function tipFun(msg){
	// 移除原有元素
	var rmTip = document.getElementsByClassName('tip-wrap');
	if(rmTip.length>0){			
		for(var i=0,len=rmTip.length; i<len; i++){
			document.body.removeChild(rmTip[i]);
		}
	}
	//创建元素
	var bodyW = document.documentElement.clientWidth || document.body.clientWidth;
	var creatTip = document.createElement('div');
	creatTip.classList.add('tip-wrap');
	document.body.appendChild(creatTip);		

	creatTip.style.position='fixed';
	creatTip.style['text-align']='center';
	creatTip.style.color='#FFFFFF';
	creatTip.style.bottom='20px';
	creatTip.style.left='0';
	creatTip.style.right='0';
	creatTip.style.margin='0 auto';
	creatTip.innerHTML = '<span style="display: inline-block;background-color:rgba(0, 0, 0, 0.7); padding: 6px 12px; border-radius: 5px;">'+msg+'</span>';

	var speed = 50;
	var opacity = 0;//初始化透明度变化值为0 
	var val = 100; 
	var tip = document.getElementsByClassName('tip-wrap')[0];
	var body = document.body;

	var base = {
		Id: function(name){
			return document.getElementById(name);
		},
		Class: function(name){
			return document.getElementsByClassName(name);
		},
		setOpacity: function(ele, v){//设置元素透明度,透明度值按IE规则计,即0~100 
			ele.filters?ele.style.filter='alpha(opacity='+v+')' : ele.style.opacity=v/100;
		}
	};
	var effect = {
		out: function(){
			(function(){
				base.setOpacity(tip,val);
				val -= 5;
				if(val>=opacity){
					setTimeout(arguments.callee, speed); 
				}else if(val < 0){
					body.removeChild(tip); // 元素透明度为0后隐藏元素 
				}
			})();
		}
	};

	setTimeout(effect.out,1000);
}

效果如下图所示:

猜你喜欢

转载自blog.csdn.net/qq_29326717/article/details/83046630
TIP