【yoyo】移入切换

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<!-- 设置区域样式 -->
	<style>
		/*设置展示区样式*/
		.main {
			width: 500px;height: 400px;border: 3px solid cyan;margin: auto;overflow: hidden;
		}
		/*设置按钮区域样式*/
		.tip {
			width: 100%;height: 30px;
		}
		/*设置按钮样式*/
		button {
			width: 30px;height: 30px; background-color: red;margin-left: 70px;color: white;
		}
		/*设置图片区域样式*/
		.img_div {
			width: 300px;height: 350px;background-color: yellow;margin: 20px auto;
		}
		/*设置图片样式*/
		img {
			width: 100%;height: 100%;background-color: pink;
		}

	</style>
</head>
<body>
	<!-- 创建一个区域 -->
	<div class="main">
		<!-- 创建一个点击区域 -->
		<div class="tip">
			<!-- 创建4个按钮 -->
			<button>1</button>
			<button>2</button>
			<button>3</button>
			<button>4</button>
		</div>
		<!-- 创建一个放置图片的区域 -->
		<div class="img_div">
			<!-- 创建4张图片 -->
			<img src="1.jpg" alt="">
			<img src="2.jpg" alt="">
			<img src="3.jpg" alt="">
			<img src="4.jpg" alt="">
		</div>
	</div>
</body>
<script>
	// 获取元素内容
	var btn = document.getElementsByTagName('button');
	var imgDiv = document.getElementsByTagName('img');
	// 因for循环执行完毕后,最终显示结果只能展示第四个图片,因此将全局变量i,设置为局部变量a
	for (var i = 0; i < btn.length; i++) {
		(function(a){
			// 添加执行动作,通过鼠标显示选择图片
			btn[i].onmouseover = function(){
				// 当鼠标移入时先隐藏所有照片,按钮颜色保持不变
				for (var j = 0; j < btn.length; j++) {
					imgDiv[j].style.display = 'none';
					btn[j].style.backgroundClor = 'red';
				}
				//改变被点击的按钮颜色,并将该按钮对应的图片展示出来
				this.style.backgroundClor = 'cyan';
				imgDiv[a].style.display  = 'block';
			}
		})(i);		
	}
</script>
</html>
效果展示:


### 如何在 DoTween 中设置 Yoyo 效果 在 DoTween 动画库中,`yoyo` 方法可以用来实现一种特殊的动画效果,即让动画在其完成位置和初始位置之间来回播放。这种效果类似于弹簧的弹回动作。 要启用 `yoyo` 效果,可以通过调用 `.SetLoops()` 并将其参数配置为奇数次循环来实现[^1]。具体来说,当设置了奇数次数的循环时,DoTween 会自动反转最后一次动画的方向,从而形成所谓的 “yoyo” 效果。以下是具体的代码示例: ```csharp using DG.Tweening; using UnityEngine; public class Example : MonoBehaviour { void Start() { // 让对象沿着 X 轴移动并返回原位 transform.DOMoveX(5f, 2f).SetLoops(2, LoopType.Yoyo); // 或者更复杂的例子:旋转和平移组合 DOTween.Sequence() .Append(transform.DORotate(new Vector3(0, 90, 0), 2)) .Join(transform.DOMoveZ(-5f, 2)) .SetLoops(3, LoopType.Yoyo) .Play(); } } ``` 上述代码展示了两种方式: - 单独使用 `DOMoveX` 来创建简单的水平运动,并通过 `SetLoops` 设置 yoyo 循环模式。 - 使用 `DOTween.Sequence` 创建复合动画序列,并同样应用 yoyo 模式。 需要注意的是,在 Unity 工程中集成 DoTween 插件之前,请先按照官方文档说明安装插件包[^2]。这通常涉及将下载好的资源拖放到项目文件夹内,并确保目标游戏对象已具备必要的组件支持(如 Rigidbody 或 Animator 组件)以便顺利执行动画逻辑。 #### 注意事项 为了使 yoyo 功能正常工作,还需要确认以下几点: - 确认版本兼容性;不同版本间 API 可能存在差异。 - 如果延迟启动动画,则需额外指定 `delay` 参数以调整时间间隔。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值