h5+c3复习中的切割轮播图

切割轮播图

今天让我们来看一下切割轮播图,首先这次代码,主要为了联系一下变换transform方面的知识

html代码:
<div class="view">
<ul>
<li>
<span></span>
<span></span>
<span></span>
<span></span>
</li>
<li>
<span></span>
<span></span>
<span></span>
<span></span>
</li>
<li>
<span></span>
<span></span>
<span></span>
<span></span>
</li>
<li>
<span></span>
<span></span>
<span></span>
<span></span>
</li>
</ul>
</div>

css代码:

*{
				margin: 0;
				padding: 0;
			}
			.view{
				width:560px;
				height: 300px;
				margin: 100px auto;
				position: relative;
			}
			ul{
				width: 100%;
				height: 100%;
				list-style: none;
				transform-style: preserve-3d;
				/*transform: rotate3d(1,1,0,-30deg);*/
			}
			ul>li{
				width: 25%;
				height: 100%;
				position: relative;
				float: left;
				transform-style: preserve-3d;
				transition: transform 0.5s;
			}
			ul>li>span{
				width: 100%;
				height: 100%;
				position: absolute;
				left: 0;
				top: 0;

			}
			ul>li>span:nth-of-type(1){
				background:url(images/q1.jpg);
				transform: translateZ(150px);
			}
			ul>li>span:nth-of-type(2){
				background:url(images/q2.jpg);
				transform: translateY(-150px) rotateX(90deg);
			}
			ul>li>span:nth-of-type(3){
				background:url(images/q3.jpg);
				transform: translateZ(-150px) rotateX(180deg);
			}
			ul>li>span:nth-of-type(4){
				background:url(images/q4.jpg);
				transform: translateY(150px) rotateX(-90deg);
			}
			ul>li:nth-of-type(2)>span{
				background-position: -100% 0;
			}
			ul>li:nth-of-type(3)>span{
				background-position: -200% 0;
			}
			ul>li:nth-of-type(4)>span{
				background-position: -300% 0;
			}
			.pre,.next{
				width: 60px;
				height: 60px;
				text-align: center;
				line-height: 60px;
				position: absolute;
				top: 50%;
				text-decoration: none;
				font-size: 40px;
				transform: translate(0,-50%);
				background-color: rgba(0,0,0,.5);
				color: #fff;
			}
			.pre{
				left: 0;
			}
			.next{
				right: 0;
			}

jquery代码:

<script src="jquery.min.js"></script>
		<script>
			$(function() {
				var flag=true;
				var index=0;
				$(".next").click(function(){
					if(flag==true){
						flag=false;
						index--;
						$("li").each(function(key,value){
						$(this).css({
							"transform":"rotateX("+(index*90)+"deg)",
							"transition-delay":(key*0.2)+"s"
						})
						setTimeout(function(){
							flag=true;
						},1000);
					})
					}
				})
				$(".pre").click(function(){
					if(flag==true){
						flag=false;
						index++;
						$("li").each(function(key,value){
						$(this).css({
							"transform":"rotateX("+(index*90)+"deg)",
							"transition-delay":(key*0.2)+"s"
						})
						setTimeout(function(){
							flag=true;
						},1000);
					})
					}
				})

			})
		</script>

运行页面:
在这里插入图片描述

在这里插入图片描述

今天内容考验我们的几何能力还有你对3d转换的理解,好了就到这里了

好的,以下是一个简单的 H5+JS 轮播图示例: HTML 代码: ```html <div class="slider"> <div class="slides"> <img src="img/slide1.jpg"> <img src="img/slide2.jpg"> <img src="img/slide3.jpg"> </div> <div class="controls"> <button class="prev">Prev</button> <button class="next">Next</button> </div> </div> ``` CSS 代码: ```css .slider { width: 100%; height: 400px; position: relative; overflow: hidden; } .slides { width: 300%; height: 100%; display: flex; transition: all 0.5s ease; } .slides img { width: 33.333%; height: 100%; object-fit: cover; } .controls { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; } .controls button { margin: 0 10px; padding: 10px; background-color: #fff; border: none; outline: none; cursor: pointer; } ``` JS 代码: ```javascript const slider = document.querySelector('.slider'); const slides = document.querySelector('.slides'); const prevBtn = document.querySelector('.prev'); const nextBtn = document.querySelector('.next'); let currentSlide = 0; // 移动到指定的幻灯片 function moveToSlide(slide) { slides.style.transform = `translateX(-${slide * 100}%)`; currentSlide = slide; } // 上一个幻灯片 function prevSlide() { currentSlide = currentSlide > 0 ? currentSlide - 1 : 2; moveToSlide(currentSlide); } // 下一个幻灯片 function nextSlide() { currentSlide = currentSlide < 2 ? currentSlide + 1 : 0; moveToSlide(currentSlide); } // 上一个和下一个按钮的事件监听器 prevBtn.addEventListener('click', prevSlide); nextBtn.addEventListener('click', nextSlide); // 每隔 3 秒自动切换到下一个幻灯片 setInterval(nextSlide, 3000); ``` 这个轮播图是一个基本的,它包括三张图片,两个按钮(上一个和下一个),并且自动循环播放。您可以根据自己的需要进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值