javascript之制作3d轮播图

在这里插入图片描述
如上图所示为一个3d轮播图的实例,如下我的代码里面有详细描述

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="keywords" content="">
	<title>3d轮播图</title>
<style type="text/css">
	body,ul{margin:0;}
	ul{
		padding-left:0;
		list-style:none;
	}
	.content{
		width:1200px;
		height:367px;
		margin:100px auto 0;
	}
	.imglist{
		width:1200px;
		height:336px;
	}
	.imglist>ul{
		position: relative;
		overflow:hidden;
		width:100%;
		height:100%;
	}
	.imglist>ul>li{
		position:absolute;
		width:730px;
		height:336px;
		transition:0.5s;
	}
	.lineb{width:1200px;height:31px;
		text-align:center;
	}
	.list1{
		transform:translateX(0)scale(0.81);
		transform-origin:0% 100%;
		z-index:1;
	}
	.list2{
		transform:translateX(235px);
		z-index:2;
	}
	.list3{
		transform:translateX(730px)scale(0.81);
		transform-origin:100% 100%;
		z-index:1;
	}
	.list4{
		transform:translateX(965px)scale(0.81);
		transform-origin:100% 100%;
	}
	.list5{
		transform:translateX(1200px)scale(0.81);
		transform-origin: 100% 100%;
	}
	.list6{
		transform: translateX(1425px)scale(0.81);
		transform-origin: 100% 100%;
	}
	.lineb>span{
		display:inline-block;
		width:35px;
		height:3px;
		background-color:#ccc;
	}
</style>
</head>
<body>
<div class="content">
	<div class="imglist">
		<ul>
			<li class="list1"><img src="image/1.jpg"></li>
			<li class="list2"><img src="image/2.jpg"></li>
			<li class="list3"><img src="image/3.jpg"></li>
			<li class="list4"><img src="image/4.jpg"></li>
			<li class="list5"><img src="image/5.jpg"></li>
			<li class="list6"><img src="image/6.jpg"></li>
		</ul>
	</div>
	<div class="lineb">
		<span></span>
		<span></span>
		<span></span>
		<span></span>
		<span></span>
		<span></span>
	</div>
</div>
<script type="text/javascript">
	//1:设置按钮的颜色;
	//1.1获取当前应该变色的按钮的索引值
	//1.2找到该元素并设置一个绿色
	var index=0;//默认情况下第一个按钮变成绿色
	var aSpan=document.querySelectorAll("span")//把所有的按钮放到一个数组里
	var aListName=['list1','list2','list3','list4','list5','list6']
	var aLi=document.querySelectorAll('li')
	function setLineBColor(){
		for(var i=0,len=aSpan.length;i<len;i++){
          aSpan[i].style.background='#ccc';
          aSpan[index].style.background='#45c17c';
		}
	}
	setLineBColor()
    function nextPic(){
    	aListName.unshift(aListName[5]);//把数组最后一个名字复制并插入到第一个位置来
    	aListName.pop()//删除最后一个值
    	for(var i=0,len=aLi.length;i<len;i++){
    	aLi[i].setAttribute('class',aListName[i]);
    	}
    	index++;
    	if(index>5){
    		index=0;
    	}
        setLineBColor()
    }
    function prePic(){
    	aListName.push(aListName[0]);
    	aListName.shift();
    	for(var i=0,len=aListName.length;i<len;i++){
    		aLi[i].setAttribute('class',aListName[i]);
    		index--;
    		if(index<0){
    			index=5;
    		}
    		setLineBColor();
    	}
    }
    var list1=document.querySelector('.list1');
	var list3=document.querySelector('.list3');
    var imgList=document.querySelector(".imglist");
    imgList.addEventListener("click",function(ev){
    if(ev.target.parentNode.getAttribute("class")==="list3"){
    	nextPic();
    }
    else if(ev.target.parentNode.getAttribute("class")==="list1"){
       prePic();
    }
    })
</script>
</body>
</html>
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值