继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

基于jQuery的公告无限循环滚动实现代码

祈澈姑娘
关注TA
已关注
手记 56
粉丝 1.4万
获赞 118

基于jQuery的公告无限循环滚动实现代码,效果如下,多用于pc端电商网站之中不断的循环更新的公告消息。

写一个简单的小demo:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
		<title>基于jQuery的公告无限循环滚动实现代码</title>
		<style>
			* {
				margin: 0;
				padding: 0;
			}
			
			li {
				list-style: none;
			}
			
			body {
				line-height: 1.5;
				font-size: 14px;
			}
			
			.scroll {
				display: inline-block;
				overflow: hidden;
				position: relative;
				height: 50px;
			}
			
			.scroll ul {
				transform: translateY(0);
			}
			
			.animate {
				-webkit-transition: all .3s ease-out;
			}
			
			.scroll li {
				overflow: hidden;
				display: -webkit-box;
				margin-left: 10px;
				width: 90%;
				height: 50px;
				line-height: 30px;
				color: #333;
				text-overflow: ellipsis;
				-webkit-line-clamp: 1;
				-webkit-box-orient: vertical;
				white-space: normal;
			}
			
			.scroll li  img{
				margin-top: 20px;
				margin-right: 12px;
				width: 12px;
				height: 12px;
				
			}
		</style>

	</head>

	<body>
		<div class="scroll">
			<ul>
				<li><img src="message.png" /><span>前端妹子是我吗</span></li>
				<li><img src="message.png" />对呀,我就是前端妹子啊</li>
				<li><img src="message.png" />哈哈哈你是谁呀</li>
				<li><img src="message.png" />你猜猜我是哪个</li>
			</ul>
		</div>
	</body>
	<script src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
	
	<script>
		$(function() {
			var scrollDiv = $(".scroll"),
				$ul = scrollDiv.find("ul"),
				$li = scrollDiv.find("li"),
				$length = $li.length,
				$liHeight = $li.height(),
				num = 0;

			if(scrollDiv.length == 0) {
				return;
			}

			if($length > 1) {
				$ul.append($li.eq(0).clone());
				setInterval(
					function() {
						num++;
						$ul.addClass("animate").css("-webkit-transform", "translateY(-" + $liHeight * (num) + "px)");
						setTimeout(
							function() {
								if(num == $length) {
									$ul.removeClass("animate").css("-webkit-transform", "translateY(0)");
									num = 0;
								}
							}, 300);
					}, 3000);
			}
		});
	</script>

</html>
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP