间歇模型制作原理

间歇模型制作

编程思路
使用定时器,我们要想使图片每2000ms更换一次,然后完成动画的时间是600ms,那么定时器的时间应该是它们的加和,所以应该是2600ms。
拉动的策略就是右按钮的策略。
Unit的高度要足够高 并且要能够盛放3张图片。

举例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		* {
			margin: 0;
			padding: 0;
		}
		ul {
			list-style: none;
		}
		.carousel {
			width: 278px;
			height: 78px;
			margin: 50px auto;
			border: 3px solid #000;
			position: relative;
			overflow: hidden;
		}
		/* Unit的高度要足够高 并且要能够盛放3张图片 */
		.unit {
			position: absolute;
			top: 0;
			left: 0;
			width: 300px;
			height: 5000px;
		}
		.unit li {
			float: left;
			width: 78px;
			height: 78px;
			margin-right: 22px;
			margin-bottom: 12px;
		}
	</style>
</head>
<body>
	<div class="carousel" id="carousel">
		<ul class="unit" id="unit">
			<li><img src="images/mingxing/0.jpg" alt=""></li>
			<li><img src="images/mingxing/1.jpg" alt=""></li>
			<li><img src="images/mingxing/2.jpg" alt=""></li>
			<li><img src="images/mingxing/3.jpg" alt=""></li>
			<li><img src="images/mingxing/4.jpg" alt=""></li>
			<li><img src="images/mingxing/5.jpg" alt=""></li>
			<li><img src="images/mingxing/6.jpg" alt=""></li>
			<li><img src="images/mingxing/7.jpg" alt=""></li>
			<li><img src="images/mingxing/8.jpg" alt=""></li>
			<li><img src="images/mingxing/8.jpg" alt=""></li>
			<li><img src="images/mingxing/8.jpg" alt=""></li>
			<li><img src="images/mingxing/8.jpg" alt=""></li>
			<li><img src="images/mingxing/8.jpg" alt=""></li>
			<li><img src="images/mingxing/8.jpg" alt=""></li>
		</ul>
	</div>
	<script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>
	<script type="text/javascript">
	// 获取元素
	var $carousel = $("#carousel");
	var $unit = $("#unit");
	var length = $unit.children().length;
	// 定义一个信号量
	var idx = 0;

	// 补充空li保证每一行有三张图片
	if (length % 3 === 1) {
		// 补充两个空li
		$("<li></li><li></li>").appendTo($unit);
	} else if (length % 3 === 2) {
		// 补充一个li 
		$("<li></li>").appendTo($unit);
	}

	// 克隆第一行追加到unit的最后
	$unit.children("li:lt(3)").clone().appendTo($unit);

	// 定义定时器
	var timer = setInterval(rightBtn, 2600);

	// 定义一个函数,相当于右按钮事件
	function rightBtn() {
		// 拉动策略: 先拉动, 再瞬移
		idx++;
		// 再拉动
		$unit.animate({"top": -90 * idx}, 600, function() {
			console.log($unit.children().length)
			// 当猫腻图完全显示之后再验证信号量
			if (idx > $unit.children().length / 3 - 2) {
				// idx 归0
				idx = 0;
				// 瞬移到真图(第一行)
				$unit.css("top", 0);
			}
		})
	}
	
	</script>
</body>
</html>

提示:
1、回头我会把相关图片素材打包上传到我的资源中,你们可以注意下,可以下载下来使用,或者用自己的素材都可以
2、近几次发的实战案例,你们可以观察相同点和不同点,做出自己的思路和总结,这样相同的案例都可以采用同样的思路。
3、相关的js包我都已经上传到资料中,需要的同学可以下载使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值