jQuery中滑入滑出动画的方向问题

slideDown
它的意思是显示 , 并不代表滑动方向
slideUp
他的意思是隐藏 , 并不代表滑动方向 , 无论slideDown的滑动方向如何 , slideUp总是反方向滑动隐藏 , 而且不适用于通过 visibility:hidden 隐藏的元素

既然up和Down都不代表滑入方向 , 那么怎么设置滑动方向呢? 先看以下代码

	<style type="text/css">
		div{	/*加个宽高颜色,看的清楚*/
			width: 200px;
			height: 300px;
			background: red;
			display: none;
		}
		button{
			position: absolute;
			top:320px;
		}
	</style>
	<body>
		<div></div>
		<button>被定位的按钮</button>	
	</body>
	<script src="js/jquery-3.5.1.min.js" type="text/javascript"></script>
	<script type="text/javascript">
		$(document).ready(function() {
			$("button").click(function() {
				$("div").slideDown(1000);
			});
		});
	</script>

其运行结果为从上到下
在这里插入图片描述
更改滑动方向的方法为 : 保持位置不变的滑就加一个父元素 , 使父元素相对定位 , 子元素绝对定位 , 且子元素定位方向为从下定位

slideDown的滑动方向就是与子元素绝对定位的时候是从top算还是从bottom算有关 , top的话就是从上向下滑(默认) , bottom的话就是从下向上滑

	<style type="text/css">
		header{
			width: 200px;
			height: 300px;
			position: relative;	/*父元素相对定位*/
		}
		div{	/*加个宽高颜色,看的清楚*/
			width: 200px;
			height: 300px;
			background: red;
			display: none;
			position: absolute;	/*子元素绝对定位*/
			bottom: 0;			/*从下开始算距离*/
		}
		button{
			position: absolute;
			top:320px;
		}
	</style>
	<body>
		<header>
			<div></div>
		</header>
		<button>被定位的按钮</button>	
	</body>
	<script src="js/jquery-3.5.1.min.js" type="text/javascript"></script>
	<script type="text/javascript">
		$(document).ready(function() {
			$("button").click(function() {
				$("div").slideDown(1000);
			});
		});
	</script>

再看一下运行结果
在这里插入图片描述
想探寻深层次的原因,我们先来放慢滑入的时间 , 在页面F12观察子元素的变化

$(document).ready(function() {
			$("button").click(function() {
				$("div").slideDown(100000);
				//慢点好观察
			});
		});

我们可以看到,只有高度在发生改变 , 所以slideDown其实就是通过改变高度完成动画效果 , 可以吧slideDown看做是一个正在长个的人 , 咱们给子元素通过bottom定位 , 那slideDown就会从下开始往上生长 , top的话就是从上往下开始生长
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值