导航栏-滚动渐变 - 封装版

导航栏-滚动渐变 (已封装插件,任意调用)

样式采用mui框架的样式(无须在意)


<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Hello MUI</title>
		<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">

		<link rel="stylesheet" href="static.docs.v1.1/plugins/mui/css/mui.min.css">
		<style>
			
		</style>
	</head>

	<body>

		<header id="header" class="mui-bar mui-bar-transparent" style="background-color: rgba(255, 255, 255, 0);">
			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
			<h1 class="mui-title">导航栏</h1>
		</header>

		<div class="mui-content" style="height: 2000px;">
			
		</div>
<script src="static.docs.v1.1/js/jquery.min.3.1.0.js"></script>
<script type="text/javascript">

var mui_bar_transparent = $(".mui-bar-transparent").css("backgroundColor");
$(window).scroll(function() {
	winScroll();
});

function winScroll(){
	var setY = 50; //50px
	var y = $(window).scrollTop();	
	var percentY = y/setY;
	// console.log(y+' / '+percentY);	
	if(y>setY){
		return false;
	} else {
		var obj = rgbOrRgbaToArray(mui_bar_transparent); 
		var str = 'rgba('+obj[0]+','+obj[1]+','+obj[2]+','+percentY+')';
		// console.log(str);
		// 实时重置
		$(".mui-bar-transparent").css("backgroundColor",str);
	}
}

function rgbOrRgbaToArray(colorString){	
	var rgbOrgbaJudgeTag = /^([^\(]+)\([^\)]+\)$/i;
	var aaa = rgbOrgbaJudgeTag.exec(colorString);
	if(aaa!==null){
		if(aaa[1].trim()==="rgb"){
			var str = colorString;
			var strTag = /^rgb[a]*\s*\(([^,]+),([^,]+),([^\)]+)\)$/i;
			var result = strTag.exec(str);
			if ( result===null || result[1].trim()==="" || result[2].trim()==="" || result[3].trim()==="" ) {
				return null;
			}
			var returnArray = [];
			for(var i=1;i<=result.length-1;i++){
				returnArray[i-1]=Number(result[i].trim());
			}
			return returnArray;
		} else if (aaa[1].trim()==="rgba") {
			var str = colorString;
			var strTag = /^rgb[a]*\s*\(([^,]+),([^,]+),([^,]+),([^\)]+)\)$/i;
			var result = strTag.exec(str);
			if ( result===null || result[1].trim()==="" || result[2].trim()==="" || result[3].trim()==="" ) {
				return null;
			}
			var returnArray = [];
			for(var i=1;i<=result.length-1;i++){
				returnArray[i-1]=Number(result[i].trim());
			}
			return returnArray;
		} else {
			return null;
		}
	} else {
		return null;
	}		
}
			
			

</script>

</body>

</html>

以上就是关于“导航栏-滚动渐变 - 封装版” 的全部内容。

猜你喜欢

转载自blog.csdn.net/qq_35393869/article/details/106873553