display实现淡入淡出过渡效果

 

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
	<style>
		div {
			position: relative;
		}

		input { /*按钮样式*/
			cursor: pointer;
			border: none;
			outline: none;
			background: #34BC9D;
			color: #fff;
			height: 40px;
		}

		img {
			position: absolute;
			transition: 1s;
			left: 0;
			top: 100%;
			opacity: 0;
			cursor: pointer;
			display: none;
		}
	</style>
</head>
<body>
	<div>
		<input id="root" type="button" onclick="show()" value="点击显示图片">
		<img id="img" src="https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=304341154,1082578760&fm=26&gp=0.jpg" alt="">
	</div>
<script>
	var root = document.getElementById("root");
	var img = document.getElementById("img");

	function show() {
		if (root.value === "点击显示图片") {
			/*设置setTimeout,让display先执行,opacity后执行*/
			root.value = "点击隐藏图片";
			img.style.display = "block";
			setTimeout(function () {
				img.style.opacity = 1;
			}, .1);
		} else {
			root.value = "点击显示图片";
			/*隐藏需要先执行opacity,再执行display,否则无效*/
			img.style.opacity = 0;
			setTimeout(function () {
				img.style.display = "none";
			}, 600);
		}
	}</script>
</body>
</html>

很实用的代码,自己写起来确实够慢,记录一下,亲测能用

但是!提前给你们交个底,第一次用的时候无效,暂未解决。

谁要是有解决办法还请指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

槐序二十四

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值