JavaScript轮播图基础学习

(此为课堂学习笔记,记录下方便日后学习)

效果展示:

代码展示:

<!doctype html>

<html>
<!-- 
		学习功能:使用JavaScript实现图片轮播,左右翻转,图片切换显示等。
		author: lisa于2018-5-30
	-->
<title>
	<meta charset="utf-8">
</title>

<body>
	<div class="maindiv">
		<style>
			* {
				margin: 0px;
				padding: 0px;
			}

			.shidian {
				width: 600px;
				height: 300px;
				position: relative;
			}

			.shidian>#shidian_img {
				width: 100%;
				height: 100%;

			}

			.shidian>#shidian_img li {
				width: 100%;
				height: 100%;
				position: absolute;
				left: 0px;
				top: 0px;
			}

			.shidian>#shidian_img img {
				width: 100%;
				height: 100%;
			}

			.shidian>#shidian_nav li {
				float: left;
				width: 20px;
				height: 20px;
				background: #ffffff;
				border: 1px #ffff00 solid;
				margin-left: 10px;
				text-align: center;
				line-height: 20px;
				list-style: none;
			}

			.shidian>#shidian_nav {
				position: absolute;
				right: 10px;
				bottom: 10px;
			}

			.shidian>#shidian_nav .active {
				background: 0000ff;
				color: black;
				cursor: pointer;
			}

			.shidian .img_nav {
				position: absolute;
				top: 140px;
				width: 100%
			}

			.shidian .img_nav .left {
				cursor: pointer;
			}

			.shidian .img_nav .right {
				cursor: pointer;
				float: right;
			}
		</style>
		<div class="shidian">
			<ul id="shidian_img" οnmοuseοver="stop_img()" οnmοuseοut="start_img()">
				<li><img src="./image/1.jpg" /></li>
				<li><img src="./image/3.jpg" /></li>
				<li><img src="./image/2.jpg" /></li>
				<li><img src="./image/4.jpg" /></li>
			</ul>
			<ul id="shidian_nav">
				<li class="active" οnmοuseοver="show_img1(this);">1</li>
				<li class="active" οnmοuseοver="show_img1(this);">2</li>
				<li class="active" οnmοuseοver="show_img1(this);">3</li>
				<li class="active" οnmοuseοver="show_img1(this);">4</li>
			</ul>
			<div class="img_nav">
				<span class="left" οnclick="left_img()"><<</span>
				<span class="right" οnclick="right_img()">>></span>
			</div>
		</div>

		<script>
			index = 0;
			imgs = document.getElementById("shidian_img").children; //获得图片节点
			navs = document.getElementById("shidian_nav").children; // 获得右下图片导航的节点

			//下一张轮播图片
			function next_img() {
				index++;
				if (index >= imgs.length) {
					index = 0;
				}
				show_log();
			}

			//正常显示图片
			function show_log() {
				for (i = 0; i < imgs.length; i++) {
					imgs[i].style.display = "none";
					imgs[i].className = "";
				}
				//console.log(index)
				if (index >= imgs.length) {
					index = 0;
				}
				imgs[index].style.display = "block";
				imgs[index].className = "active";
			}
			show_log();
			timer = setInterval(next_img, 1000);

			function stop_img() {
				clearInterval(timer);
			}

			function start_img() {
				timer = setInterval(next_img, 1000);
			}

			//随机切换显示图片
			function show_img1(obj) {
				stop_img();
				index = getIndex(obj.parentNode, obj);
				show_log();

			}

			//向左翻图片
			function left_img() {
				stop_img();
				index--;
				if (index < 0) index = imgs.length - 1;
				show_log();
				start_img();
			}

			//向右翻图片
			function right_img() {
				stop_img();
				index++;
				if (index > imgs.length) index = 0;
				show_log();
				start_img();
			}

			//获得当前的节点
			function getIndex(parent, obj) {
				//console.log(obj.innerHTML);
				e = parent.children;
				for (i = 0; i < e.length; i++) {
					if (e[i] == obj) {
						return i;
					}
				}
			}
		</script>
	</div>
</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值