handsomehan

jQuery与原生js实现banner轮播图:

(jq需自己加载)(图片需自己加载)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>banner轮播图</title>
		<style type="text/css">
			* {
				margin: 0;
				padding: 0;
				list-style: none;
			}
			#banner {
				position: relative;
				height: 454px;
				width: 730px;
				margin: 100px auto 0;
			}
			#banner-con li {
				position: absolute;
				left: 0;
				top: 0;
				/*opacity: 0;*/
				display: none;
			}
			#banner-con li.show {
				opacity: 1;
				display: block;
			}
			#banner-con li img {
				float: left;
				height: 454px;
				width: 730px;
			}
			#banner-num {
				position: absolute;
				right: 41%;
				bottom: 20px;
			}
			#banner-num li {
				float: left;
				height: 20px;
				width: 20px;
				line-height: 20px;
				font-size: 18px;
				text-align: center;
				border-radius: 20px;
				color: #fff;
				margin-right: 5px;
				background: #333;
				cursor: pointer;
			}
			#banner-num li.active {
				background: red;
			}
			#banner-left {
				position: absolute;
				top: 200px;
				left: 10px;
				display: block;
				height: 60px;
				width: 20px;
				font-size: 30px;
				line-height: 60px;
				text-align: center;
				background: gray;
				color: #fff;
				cursor: pointer;
				opacity: 0;
			}
			#banner-right {
				position: absolute;
				top: 200px;
				right: 10px;
				display: block;
				height: 60px;
				width: 20px;
				font-size: 30px;
				line-height: 60px;
				text-align: center;
				background: gray;
				color: #fff;
				cursor: pointer;
				opacity: 0;
			}
		</style>
		<!--js原生方式-->
		<!--<script type="text/javascript">
			window.onload = function() {
				var banner = document.getElementById(\'banner\');
					bannerCon = document.getElementById(\'banner-con\'),
					bannerConLis = bannerCon.children,
					bannerNum = document.getElementById(\'banner-num\'),
					bannerNumLis = bannerNum.children,
					bannerLeft = document.getElementById(\'banner-left\'),
					bannerRight = document.getElementById(\'banner-right\'),
					timer = null,
					timer2 = null,
					num = 0;
				function move() {
					clearInterval(timer);
					for (var i = 0; i < bannerConLis.length; i++) {
						bannerConLis[i].style.opacity = 0;
						bannerConLis[i].style.display = \'none\';
						bannerNumLis[i].style.background = \'#ccc\'
					}
					bannerConLis[num].style.display = \'block\';
					bannerNumLis[num].style.background = \'red\';
					var index = 0;
					timer = setInterval(function() {
						index += 0.02;
						if(index >= 1) {
							index = 1;
							clearInterval(timer);
						}
						bannerConLis[num].style.opacity = index;
					},20);
				}
				function automove() {
					num ++;
					if(num >= bannerConLis.length) {
						num = 0;
					}
					move();
				}
				timer2 = setInterval(automove,2000);//进入页面执行
				//鼠标移上左右侧按钮显示效果
				banner.onmouseenter = function() {
					bannerLeft.style.opacity = 1;
					bannerRight.style.opacity = 1;
				}
				banner.onmouseleave = function() {
					bannerLeft.style.opacity = 0;
					bannerRight.style.opacity = 0;
				}
				for (var i = 0; i < bannerNumLis.length; i++) {
					bannerNumLis[i].index = i;
					bannerNumLis[i].onmouseover = function() {
						clearInterval(timer2);
						num = this.index;
						move();
					}
					bannerNumLis[i].onmouseout = function() {
						timer2 = setInterval(automove,2000);
					}
				}
				bannerRight.onclick = function() {
					clearInterval(timer2);
					num ++;
					if(num >= bannerConLis.length) {
						num = 0;
					}
					move();
					timer2 = setInterval(automove,2000);
				}
				bannerLeft.onclick = function() {
					clearInterval(timer2);
					num --;
					if(num < 0) {
						num = bannerConLis.length - 1;
					}
					move();
					timer2 = setInterval(automove,2000);
				}
			}
		</script>-->
		<!--jq实现方式 -->
		<script src="js/jquery-1.8.3.js" type="text/javascript" charset="utf-8"></script>
		<script type="text/javascript">
			$(function() {
				$(\'#banner\').mouseenter(function() {
					$(\'#banner-left\').css(\'opacity\',\'1\');
					$(\'#banner-right\').css(\'opacity\',\'1\');
				});
				$(\'#banner\').mouseleave(function() {
					$(\'#banner-left\').css(\'opacity\',\'0\');
					$(\'#banner-right\').css(\'opacity\',\'0\');
				});
				var n = 0;
				$(\'#banner-right\').click(function() {
					clearInterval(timer);
					n ++;
					if (n >= $(\'#banner-con li\').length) {
						n = 0;
					}
					$(\'#banner-con li\').eq(n).fadeIn(800).siblings().hide();
					$(\'#banner-num li\').eq(n).addClass(\'active\').siblings().removeClass(\'active\');
					Move();
				});
				$(\'#banner-left\').click(function() {
					clearInterval(timer);
					n --;
					if (n < 0) {
						n = $(\'#banner-con li\').length - 1;
					}
					$(\'#banner-con li\').eq(n).fadeIn(800).siblings().hide();
					$(\'#banner-num li\').eq(n).addClass(\'active\').siblings().removeClass(\'active\');
					Move();
				});
				$(\'#banner-num li\').mouseenter(function() {
					clearInterval(timer);
					n=$(\'#banner-num li\').index(this);
					$(\'#banner-con li\').eq(n).fadeIn(800).siblings().hide();
					$(\'#banner-num li\').eq(n).addClass(\'active\').siblings().removeClass(\'active\');
					Move();
				});
				var timer = null;
				function Move() {
					clearInterval(timer);
					timer = setInterval(function() {
						n ++;
						if(n >= $(\'#banner-con li\').length) {
							n = 0;
						}
						$(\'#banner-con li\').eq(n).fadeIn(800).siblings().hide();
						$(\'#banner-num li\').eq(n).addClass(\'active\').siblings().removeClass(\'active\');
					},2000);
				}
				Move();
			});
		</script>
	</head>
	<body>
		<div id="banner">
			<ul id="banner-con">
				<li class="show"><a href="javascript:;"><img src="images/57d9134bN975e81a4.jpg"/></a></li>
				<li><a href="javascript:;"><img src="images/57e0e2d9N2e23e425.jpg"/></a></li>
				<li><a href="javascript:;"><img src="images/57e230beN8dacb637.jpg"/></a></li>
				<li><a href="javascript:;"><img src="images/57e23970N9b28af32.jpg"/></a></li>
				<li><a href="javascript:;"><img src="images/57e25734N989a9c70.jpg"/></a></li>
				<li><a href="javascript:;"><img src="images/57e339a5Nac4207ad.jpg"/></a></li>
			</ul>
			<ul id="banner-num">
				<li class="active">1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
				<li>5</li>
				<li>6</li>
			</ul>
			<span id="banner-left"><</span>
			<span id="banner-right">></span>
		</div>
	</body>
</html>

  

分类:

技术点:

相关文章: