bilibili首页导航

bilibili导航实现
话说今天实验课,一如既往的打开阿b准备学(shua)习(fan),突然发现阿b首页导航还挺好看,恰巧最近在复习原生js,就顺带在实验课上实现了这个效果。(因为想到哪写哪,啥都没封装,代码可能比较乱,见谅见谅)
在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>banner</title>
		<style>
			.back{
				position: fixed;
				width: 100%;
				height: 50px;
				top: 0;
				left: 0;
				
			}
			.back-tran{
				transition: transform 0.5s;
			}
			.img{
				transition: filter 0.5s;
			}
			#bc6{
				transform: translate(-50px,0);
				
			}
			#bc4{
				transform: translate(40px,0);
			}
			#bc3{
				transform: translate(50px,0);
			}
			#bc2{
				transform: translate(-20px,0);
			}
			*{
				margin: 0;
				padding: 0;
			}
		</style>
	</head>
	<body>
		<div id="root">
			<div id="bc1" class="back">
				<img  id="img1" style="filter:blur(2px); width: 100%; height: 100%;" src="img/test1.png" />
			</div>
			<div id="bc2" class="back">
				<img  id="img2" style="width: 100%; height: 100%;" src="img/test2.png" />
			</div>
			<div id="bc3" class="back">
				<img  id="img3" style="filter: blur(1px); width: 100%; height: 100%;" src="img/test3.png" />
			</div>
			<div id="bc4" class="back">
				<img  id="img4" style=" filter:blur(1px); width: 100%; height: 100%;" src="img/test4.png" />
			</div>
			<div id="bc5" class="back">
				<img  id="img5" style="filter:blur(3px); width: 100%; height: 100%;" src="img/test5.png" />
			</div>
			<div id="bc6" class="back">
				<img id="img6" style="filter:blur(3px); width: 100%; height: 100%; " src="img/test6.png" />
			</div>
		</div>
		
		
		<script>
			var root = document.querySelector("#root");
			var x = 0;
			var that = this;
			root.addEventListener('mouseenter',(event)=>{
				that.x = event.screenX
			})
			
			root.addEventListener('mouseleave',(event)=>{
				var bc6 = document.querySelector("#bc6");
				bc6.style.transform = `translate(-50px,0)`
				var img6 = document.querySelector("#img6");
				img6.style.filter = `blur(3px)`
				bc6.classList.add('back-tran')
				img6.classList.add('img')
				
				var bc5 = document.querySelector("#bc5");
				bc5.style.transform = `translate(0px,0)`
				var img5 = document.querySelector("#img5");	
				img5.style.filter = `blur(3px)`
				bc5.classList.add('back-tran')
				img5.classList.add('img')
				
				
				var bc4 = document.querySelector("#bc4");
				bc4.style.transform = `translate(40px,0)`
				var img4 = document.querySelector("#img4");
				img4.style.filter = `blur(1px)`
				bc4.classList.add('back-tran')
				img4.classList.add('img')
				
				
				var bc3 = document.querySelector("#bc3");
				bc3.style.transform = `translate(50px,0)`
				var img3 = document.querySelector("#img3");
				img3.style.filter = `blur(1px)`
				bc3.classList.add('back-tran')
				img3.classList.add('img')
				
				var img2 = document.querySelector("#img2");
				img2.style.filter = `blur(0px)`
				img2.classList.add('img')
				
			})
			
			root.addEventListener('mousemove',(event)=>{
				console.log(event)
				var bc6 = document.querySelector("#bc6");
				bc6.style.transform = `translate(${((event.screenX - that.x)/60)-50}px,0)`
				var img6 = document.querySelector("#img6");
				img6.style.filter = `blur(${ (3 - ((event.screenX - that.x)/400)) < 3 ? (3 - ((event.screenX - that.x)/400)) : 3 }px)`
				bc6.className = 'back'
				img6.className = ''
				
				
				var bc5 = document.querySelector("#bc5");
				bc5.style.transform = `translate(${((event.screenX - that.x)/60)}px,0)`
				var img5 = document.querySelector("#img5");
				var blur5 = Math.abs((3 - ((event.screenX - that.x)/450)) < 3 ? (3 - ((event.screenX - that.x)/450)) : 3)
				img5.style.filter = `blur(${blur5}px)`
				bc5.className = 'back'
				img5.className = ''
				
				var bc4 = document.querySelector("#bc4");
				bc4.style.transform = `translate(${((event.screenX - that.x)/240) + 40}px,0)`
				var img4 = document.querySelector("#img4");
				var blur4 = Math.abs(1 - ((event.screenX - that.x)/900));
				console.log(blur4)
				img4.style.filter = `blur(${blur4}px)`
				bc4.className = 'back'
				img4.className = ''
				
				var bc3 = document.querySelector("#bc3");
				bc3.style.transform = `translate(${((event.screenX - that.x)/350) + 50}px,0)`
				var img3 = document.querySelector("#img3");
				var blur3 = Math.abs(1 - ((event.screenX - that.x)/900));
				console.log(blur3)
				img3.style.filter = `blur(${blur3}px)`
				bc3.className = 'back'
				img3.className = ''
				
				
				var img2 = document.querySelector("#img2");
				var blur2 = Math.abs(((event.screenX - that.x)/500));
				console.log(blur2)
				img2.style.filter = `blur(${blur2}px)`
				img2.className = ''
				
			});
			
		</script>
	</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_44740605/article/details/109222578