图片轮播,淡入淡出(js,css)

本文介绍了一种使用HTML和CSS实现的轮播图效果,通过JavaScript控制图片的显示与隐藏,实现平滑过渡。文章详细解释了如何利用CSS选择器设置图片的透明度和定位,并介绍了nextElementSibling属性用于获取DOM元素的下一个兄弟元素。
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		#d1>img {
			position: absolute;
			opacity: 0;
			transition: all .5s linear;
		}
		#d1>img.show { /* 这里必须用#d1>img,不然优先级不够 */
			z-index: 10; /* 必须用z-index:10;不然后面的图片覆盖前面的 */
			opacity: 1;
		}
	</style>
</head>
<body>
	<div id="d1">
		<img src="img/banner1.png" alt="" class="show">
		<img src="img/banner2.png" alt="">
		<img src="img/banner3.png" alt="">
		<img src="img/banner4.png" alt="">
	</div>

	<script>
		
		function task() {
			var img = document.querySelector(".show");
			img.className = "";
			//console.log(img.nextSibling);
			//console.log(img.nextElementSibling);
			  if(img.nextElementSibling!=null){
				img.nextElementSibling.className="show";
			}else{
				document.querySelector("#d1>:first-child").className="show";
			}
		}
		var timer = setInterval("task()",1000);

		d1.onmouseover = function() {
			clearInterval(timer);
			timer=null;
		}

		d1.onmouseout = function() {
			timer = setInterval("task()",1000); //这里前面不能加var,不然就会新建一个定时器,造成图片轮播切换混乱
		}
	</script>
</body>
</html>


里面尤需注意的是:nextSibling和nextElementSibling的区别,nextSibling是指下一个兄弟节点,nextElementSibling是指下一个兄弟元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值