js通过display属性实现(按钮)(圆点)双控制及(自动)图片轮播

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<style type="text/css">
		.container{
			width: 500px;
			height: 300px;
			margin:0 auto;
			position: relative;
		}
		img{
			display: block;
			width:500px;
			height: 300px;
			position: absolute;
		}
		button{
			display: block;
			width: 50px;
			height: 100px;
			position: absolute;
			top:100px;
		}
		button:nth-of-type(2){
			right: 0;
		}
		.show{
			display: block;
					}
		.dispear{
			display: none;
		}
	.li-cotainer{
		width: 130px;
		position: absolute;
		bottom: 0;
		left:100px;
		font-size: 0;
	}
	.li-cotainer>li{
		display: inline-block;
		width: 10px;
		height: 10px;
		border: 1px solid #FFFFFF;
		border-radius: 50%;
		margin: 10px ;
	}
	.ls{
		background: #ffffff;
		border: 1px solid #FFFFFF;
	}
	</style>
	<body>
		<div class="container">
			<img class="show"src="img/1.jpg" >
			<img src="img/2.jpg" >
			<img src="img/3.jpg" >
			<img src="img/4.JPG" >
			<button><</button>
			<button >></button>
			<div class="li-cotainer">
				<li class="ls"></li>
				<li></li>
				<li></li>
				<li></li>
			</div>
		</div>
		<script type="text/javascript">
// 事件源获取
			var btn=document.getElementsByClassName("container")[0].getElementsByTagName("button");
			var imgArr=document.getElementsByClassName("container")[0].getElementsByTagName("img");
			var liArr=document.getElementsByClassName("container")[0].getElementsByTagName("li");
// 定义全局变量i,可以说是个计数器记录当前显示图片在图片数组中的下标
			var i=0;
// 右滑动执行及圆点按钮独立事件关联
			btn[1].onclick=function(){
			for(var c=0;c<imgArr.length;c++){
				if(imgArr[c].className=="show"){
					i=c;
				}
			}	
			right();
		}
		// btn[1].onclick=right;
// 左滑动执行及圆点按钮独立事件关联
		btn[0].onclick=function(){
				for(var c=0;c<imgArr.length;c++){
					if(imgArr[c].className=="show"){
						i=c;
					}
				}	
				left();
			}
			// btn[0].onclick=left;
// 圆点图片关联执行	
			for(var j=0;j<liArr.length;j++){
				liArr[j].index=j;
				liArr[j].onmouseover=lim;
						}
// 右滑动方法
			function right(){
				// console.log(i)
					i=i+1;
					console.log(i)
				for(var j=0;j<imgArr.length;j++){
					imgArr[j].className="dispear";
					liArr[j].className="";
					}
				if(i>3){
					i=0;
				}
				imgArr[i].className="show";
				liArr[i].className="ls"
				
				}
// 左滑动方法
				function left(){
						i=i-1;
					for(var j=0;j<imgArr.length;j++){
						imgArr[j].className="dispear";
						liArr[j].className="";
						}
					if(i<0){
						i=3;
					}
					imgArr[i].className="show";	
					liArr[i].className="ls"
					}
// 圆点图片关联方法
				function lim(){
						for(var k=0;k<imgArr.length;k++){
						imgArr[k].className="dispear";
						liArr[k].className="";
							}
						imgArr[this.index].className="show";
						liArr[this.index].className="ls";
						//i=this.index;
									}
				
// 图片滑动定时器设置及执行
				inter1=setInterval(right,3000);
				for(var t=0;t<imgArr.length;t++){
					document.getElementsByClassName("container")[0].onmouseover=function(){
						clearInterval(inter1);
					}
					document.getElementsByClassName("container")[0].onmouseout=function(){
					inter1=setInterval(right,3000);
				}
				}
		</script>
	</body>
</html>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值