jQuery的自定义动画animate的语法,模仿王者手风琴效果

jQuery的自定义动画animate的语法

$(selector).animate({params},speed,callback);

1、 params (必需)参数定义形成动画的 CSS 属性,以对象形式书写。

2、 speed (可选)参数规定效果的时长。它可以取以下值:“slow”、“fast” 或毫秒。

3、callback(可选) 参数是动画完成后所执行的函数名称。

animate的简单用法:(点击按钮后让div在一秒内移动到距离左边300px右边300px的地方,宽高变为300px)

$(function() {
     
	$("button").click(function() {
     
		$("div").animate({
     
			width:300,
			height:300,
			left:300,
			top:300,
		},1000)
	})
})

模仿王者手风琴效果

CSS代码:

* {
     
	margin: 0;
	padding: 0;
}
.king {
     
	width: 80%;
	height: 90px;
	margin: auto;
	background-color: #0d3354;
}
.king ul li {
     
	position: relative;
	float: left;
	margin-right: 10px;
	width: 90px;
	height: 90px;
	list-style: none;
}

.small {
     
	position: absolute;
	left: 0;
	right: 0;
	width: 90px;
	height: 90px;
}
.big {
     
	position: relative;
	height: 90px;
	display: none;
}
.king .current {
     
	width: 196px;
}
.current .small {
     
	display: none;
}
.current .big {
     
	display: block;
}

HTML代码:

<div class="king">
	<ul>
		<li class="current">
			<a href="#">
				<img src="img/1.png" class="big">
				<img src="img/1-small.png" class="small">
			a>
		li>
		<li>
			<a href="#">
				<img src="img/2.jpg" class="big">
				<img src="img/2-small.png" class="small">
			a>
		li>
		<li>
			<a href="#">
				<img src="img/3.jpg" class="big">
				<img src="img/3-small.png" class="small">
			a>
		li>
	ul>
div>

JS代码:

<script src="../../../jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript">
		$(function() {
     
			$(".king li").mouseenter(function() {
     
			// 鼠标放在某一个li上时自己的宽度变成196px,大图片淡入,小图片淡出
				$(this).stop().animate({
     
					width:196
		        }).find(".big").stop().fadeIn().siblings(".small").stop().fadeOut();
					// 其他兄弟节点宽度变为90px,大图片淡出,小图片淡入
				$(this).siblings("li").stop().animate({
     
					width:90
				}).find(".big").stop().fadeOut().siblings(".small").stop().fadeIn();
			})
		})

效果如下:
jQuery的自定义动画animate的语法,模仿王者手风琴效果_第1张图片
鼠标悬浮在li上时小图片淡出,大图片淡入

你可能感兴趣的:(javascript,css,html,jquery)