有图片的轮播图

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>当前页面</title>
	<style>
        * {
            margin: 0;
            padding: 0;
        }

        .wrap {
            width: 800px;
            height: 400px;
            position: relative;
        }

        .list {
            width: 800px;
            height: 400px;
            list-style: none;
            position: relative;
            padding-left: 0;
        }

        .item {
            /*叠在一起	        */
            position: absolute;
            width: 100%;
            height: 100%;
            color: white;
            font-size: 50px;
            /*透明度*/
            opacity: 0;
            /*淡入淡出图片的效果*/
            transition: all .8s;
        }
        .item img{
            width: 100%;
            height: 100%;
        }

        .item:nth-child(1) {
            background-color: yellowgreen;
        }

        .item:nth-child(2) {
            background-color: red;
        }

        .item:nth-child(3) {
            background-color: blue;
        }

        .item:nth-child(4) {
            background-color: greenyellow;
        }

        .item:nth-child(5) {
            background-color: green;
        }

        .btn {
            width: 50px;
            height: 100px;
            position: absolute;
            top: 150px;
            z-index: 100;
        }

        #goPre {
            left: 0;
	        font-size: 30px;
        }

        #goNext {
            right: 0;
            font-size: 30px;
        }

        .item.active {
            opacity: 1;
            z-index: 10;
        }

        .pointList {
            padding-left: 0;
            list-style: none;
            position: absolute;
            right: 20px;
            bottom: 20px;
            z-index: 100;
        }

        .point {
            width: 10px;
            height: 10px;
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 100%;
            float: left;
            margin-right: 14px;
            border-style: solid;
            border-width: 2px;
            border-color: rgba(255, 255, 255, 0.6);

            /*放在点上又小手*/
            cursor: pointer;
        }

        .point.active {
            background-color: rgba(255, 255, 255, 0.8);
        }
	</style>
</head>
<body>
<div class="wrap">
	<ul class="list">
		<li class="item active"><img src="img/1.jpg "></li>
		<li class="item"><img src="img/2.jpg "></li>
		<li class="item"><img src="img/3.jpg "></li>
		<li class="item"><img src="img/4.jpg "></li>
		<li class="item"><img src="img/5.jpg "></li>
	</ul>
	<!--五个按钮-->
	<ul class="pointList">
		<!--data-index表示当前选中的点-->
		<li class="point active" data-index='0'></li>
		<li class="point" data-index='1'></li>
		<li class="point" data-index='2'></li>
		<li class="point" data-index='3'></li>
		<li class="point" data-index='4'></li>
	</ul>
	<button type="button" class="btn" id="goPre"><</button>
	<button type="button" class="btn" id="goNext">></button>
</div>
<script>
	var items = document.getElementsByClassName('item');//可以试试querySelector 图片
	var points = document.getElementsByClassName('point'); // 点
	var goPreBtn = document.getElementById('goPre');
	var goNextBtn = document.getElementById('goNext');

	var time = 0;//定时器图片跳转参数

	var index = 0;//index表示第几张图片在展示--->>第index张图片又 active这给类名 //也可以标傲世第几个点展示


	//2000s 跳转一次
	var times = 0;

	//清楚active的效果
	var clearActive = function () {
		//清除图片的active
		for (var i = 0; i < items.length; i++) {
			items[i].className = 'item';
		}
		//清除点的active
		for (var i = 0; i < points.length; i++) {
			points[i].className = 'point';
		}
	}

	//切换图片
	var goIndex = function () {
		clearActive();
		points[index].className = 'point active';
		items[index].className = 'item active';
	}

	var goNext = function () {
		if (index < 4) {
			index++;
		} else {
			index = 0;
		}
		goIndex();
	}

	var goPre = function () {
		if (index === 0) {
			index = 4;
		} else {
			index--;
		}
		goIndex();
	}
	//挂载下一页
	goNextBtn.addEventListener('click', function () {
		goNext();
		time = 0;
	});
	//挂载上一页
	goPreBtn.addEventListener('click', function () {
		goPre();
		time = 0;
	});

	//挂载点的事件
	for (var i = 0; i < points.length; i++) {
		points[i].addEventListener('click', function () {
			var pointIndex = this.getAttribute('data-index');
			index = pointIndex;
			goIndex();
			time = 0;//为了让图片停两秒 *****
		});
	}

	//画面z自动轮播
	for (var i = 0; i < items.length; i++) {
		//画面停留
		items[i].addEventListener("mouseover", function () {
			clearInterval(times);
		});
		//鼠标移开 继续轮播
		items[i].addEventListener("mouseout", function () {
			times = setInterval(function () {
				time++;
				if (time === 20) {
					goNext();
					time = 0;
				}
			}, 100);
		});
	}
</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现图片轮播切换可以通过使用Unity的UI组件和动画系统来实现。以下是一个简单的方法: 1. 创建一个空的UI画布,并在画布中创建一个Image组件作为轮播图容器。 2. 在Image组件中添加一个RectTransform组件,用于设置图像的位置和大小。 3. 在轮播图容器中创建多个子对象,每个子对象都是一个Image组件,用于显示不同的图片。 4. 使用Animation或Animator组件创建一个动画控制器,并在其中创建多个动画状态,每个状态对应一个子对象。 5. 在每个动画状态中,设置对应子对象的Image组件的Sprite属性为该状态所对应的图片。 6. 在动画控制器中添加一个动画过渡条件,用于触发下一个状态。 7. 在脚本中通过代码控制动画状态的切换,并触发动画过渡条件。 以下是一个示例脚本: ```csharp using UnityEngine; using UnityEngine.UI; public class ImageSlider : MonoBehaviour { public float switchTime = 3f; // 图片切换时间 private int currentImage = 0; // 当前显示的图片 private int imageCount; // 图片总数 private Animator animator; void Start() { animator = GetComponent<Animator>(); imageCount = transform.childCount; InvokeRepeating("SwitchImage", switchTime, switchTime); } void SwitchImage() { currentImage = (currentImage + 1) % imageCount; animator.SetTrigger("Switch" + currentImage); } } ``` 在上面的示例中,我们使用Animator组件来控制动画状态的切换,使用InvokeRepeating函数来定时触发图片切换。在每次切换时,我们使用currentImage变量来记录当前显示的图片序号,并使用animator.SetTrigger函数来触发对应的动画状态切换。注意,我们在动画状态的名称中使用了数字,这是为了方便在脚本中动态设置动画状态名称。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值