用js实现翻书的动画效果

效果图(哈哈哈哈,博主的恶趣味请无视)
在这里插入图片描述
css部分

 <style>
			.y{
				background-color: cornflowerblue;
				height: 200px;
				width: 300px;
				display: flex;
				position: relative;
				left: 230px;
				top: 50px;
				
			}
			
			.y1{
				background-color: cornflowerblue;
				height: 200px;
				width: 150px;
				position: absolute;
				transform-origin: left;
				right: 0;
				border: 1px solid black;
                font-size: 30px;
			}
			
			
			.y2{
				height: 200px;
				width: 150px;
				position: absolute;
				transform-origin: left;
				transform:rotatey(180deg) ;
				transition: 1s ;
				border: 1px solid black;
               
			}
			img{
				transform-origin: left;
				height: 200px;
				width: 150px;
				position: absolute;

			}
			p{
				position: absolute;
				top: 20px;
				right: 0;
				font-size: 40px;
			}
			
		</style>

html部分 我插入了100张图片

<div class="y" id="y">
			<p> 爱你哦</p>
			<div class="y1"><img src="cxk/100.png"></div>
			<div class="y1"><img src="cxk/99.png"></div>
			<div class="y1"><img src="cxk/98.png"></div>
			<div class="y1"><img src="cxk/97.png"></div>
			<div class="y1"><img src="cxk/96.png"></div>
			<div class="y1"><img src="cxk/95.png"></div>
			<div class="y1"><img src="cxk/94.png"></div>
			<div class="y1"><img src="cxk/93.png"></div>
			<div class="y1"><img src="cxk/92.png"></div>
			<div class="y1"><img src="cxk/91.png"></div>
			<div class="y1"><img src="cxk/90.png"></div>
			<div class="y1"><img src="cxk/89.png"></div>
			<div class="y1"><img src="cxk/88.png"></div>
			<div class="y1"><img src="cxk/87.png"></div>
			<div class="y1"><img src="cxk/86.png"></div>
			<div class="y1"><img src="cxk/85.png"></div>
			<div class="y1"><img src="cxk/84.png"></div>
			<div class="y1"><img src="cxk/83.png"></div>
			<div class="y1"><img src="cxk/82.png"></div>
			<div class="y1"><img src="cxk/81.png"></div>
			<div class="y1"><img src="cxk/80.png"></div>
			<div class="y1"><img src="cxk/79.png"></div>
			<div class="y1"><img src="cxk/78.png"></div>
			<div class="y1"><img src="cxk/77.png"></div>
			<div class="y1"><img src="cxk/76.png"></div>
			<div class="y1"><img src="cxk/75.png"></div>
			<div class="y1"><img src="cxk/74.png"></div>
			<div class="y1"><img src="cxk/73.png"></div>
			<div class="y1"><img src="cxk/72.png"></div>
			<div class="y1"><img src="cxk/71.png"></div>
			<div class="y1"><img src="cxk/70.png"></div>
			<div class="y1"><img src="cxk/69.png"></div>
			<div class="y1"><img src="cxk/68.png"></div>
			<div class="y1"><img src="cxk/67.png"></div>
			<div class="y1"><img src="cxk/66.png"></div>
			<div class="y1"><img src="cxk/65.png"></div>
			<div class="y1"><img src="cxk/64.png"></div>
			<div class="y1"><img src="cxk/63.png"></div>
			<div class="y1"><img src="cxk/62.png"></div>
			<div class="y1"><img src="cxk/61.png"></div>
			<div class="y1"><img src="cxk/60.png"></div>
			<div class="y1"><img src="cxk/59.png"></div>
			<div class="y1"><img src="cxk/58.png"></div>
			<div class="y1"><img src="cxk/57.png"></div>
			<div class="y1"><img src="cxk/56.png"></div>
			<div class="y1"><img src="cxk/55.png"></div>
			<div class="y1"><img src="cxk/54.png"></div>
			<div class="y1"><img src="cxk/53.png"></div>
			<div class="y1"><img src="cxk/52.png"></div>
			<div class="y1"><img src="cxk/51.png"></div>
			<div class="y1"><img src="cxk/50.png"></div>
			<div class="y1"><img src="cxk/49.png"></div>
			<div class="y1"><img src="cxk/48.png"></div>
			<div class="y1"><img src="cxk/47.png"></div>
			<div class="y1"><img src="cxk/46.png"></div>
			<div class="y1"><img src="cxk/45.png"></div>
			<div class="y1"><img src="cxk/44.png"></div>
			<div class="y1"><img src="cxk/43.png"></div>
			<div class="y1"><img src="cxk/42.png"></div>
			<div class="y1"><img src="cxk/41.png"></div>
			<div class="y1"><img src="cxk/40.png"></div>
			<div class="y1"><img src="cxk/39.png"></div>
			<div class="y1"><img src="cxk/38.png"></div>
			<div class="y1"><img src="cxk/37.png"></div>
			<div class="y1"><img src="cxk/36.png"></div>
			<div class="y1"><img src="cxk/35.png"></div>
			<div class="y1"><img src="cxk/34.png"></div>
			<div class="y1"><img src="cxk/33.png"></div>
			<div class="y1"><img src="cxk/32.png"></div>
			<div class="y1"><img src="cxk/31.png"></div>
			<div class="y1"><img src="cxk/30.png"></div>
			<div class="y1"><img src="cxk/29.png"></div>
			<div class="y1"><img src="cxk/28.png"></div>
			<div class="y1"><img src="cxk/27.png"></div>
			<div class="y1"><img src="cxk/26.png"></div>
			<div class="y1"><img src="cxk/25.png"></div>
			<div class="y1"><img src="cxk/24.png"></div>
			<div class="y1"><img src="cxk/23.png"></div>
			<div class="y1"><img src="cxk/22.png"></div>
			<div class="y1"><img src="cxk/21.png"></div>
			<div class="y1"><img src="cxk/20.png"></div>
			<div class="y1"><img src="cxk/19.png"></div>
			<div class="y1"><img src="cxk/18.png"></div>
			<div class="y1"><img src="cxk/17.png"></div>
			<div class="y1"><img src="cxk/16.png"></div>
			<div class="y1"><img src="cxk/15.png"></div>
			<div class="y1"><img src="cxk/14.png"></div>
			<div class="y1"><img src="cxk/13.png"></div>
			<div class="y1"><img src="cxk/12.png"></div>
			<div class="y1"><img src="cxk/11.png"></div>
			<div class="y1"><img src="cxk/10.png"></div>
			<div class="y1"><img src="cxk/9.png"></div>
			<div class="y1"><img src="cxk/8.png"></div>
			<div class="y1"><img src="cxk/7.png"></div>
			<div class="y1"><img src="cxk/6.png"></div>
			<div class="y1"><img src="cxk/5.png"></div>
			<div class="y1"><img src="cxk/4.png"></div>
			<div class="y1"><img src="cxk/3.png"></div>
			<div class="y1"><img src="cxk/2.png"></div>
			<div class="y1"><img src="cxk/1.png"></div>
            <div class="y1"> 鸡你太美</div>
		</div>

js部分

<script>
	  var div=document.querySelectorAll(".y div");//所有的小div
	  var obox=document.getElementById("y");//获取最外面的div
	  var a=1;//假设1为开始
	  var i=div.length;
	  var z=2;//定义层级
	  
	    //点击页面翻页
       document.onclick=function(){

        	  if(a==1){
        	    
        	 //计时器   
        	var x=setInterval(function(){
        		i-=1;//遍历每一个div
        		z+=1;
        		
        		div[i].style.right="2px"; //给距离让它们连续,不会发生奇怪的事
        		
        		div[i].className="y2";//给每个div新的样式
        		div[i].style.zIndex=z;//不设层级会叠在一起

        	if(i<=0){
        		clearInterval(x);
        	}
        	},100)
        	a=0;
        	
        	//点击div暂停
        	obox.onclick=function(eve){
        		var e=eve||window.event;//获取当前事件对象
        		e.cancelBubble=true;//取消冒泡
        		clearInterval(x);
        		a=1;//a为1是为了下次可以继续点页面开始
        	}

        	}else{
        		a=1;//为了不点两下
        	}
	   }	  
</script>


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值