如何将代码简写

fish_whale 2017-07-24 04:49:20
用同一种方法写了2个轮播,不过我是复制粘贴过去的,请问能不能通过传参或者别的方法来让代码更加简化(一个方法不用写2遍) <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div class="aaa"> < img src="img/banner3.png" alt=" " class="newBanner " /> < img src="img/banner2.png " alt=" " class="newBanner " /> < img src="img/banner1.png " alt=" " class="newBanner " /> </div> <div class="bbb "> < img src="img/add1.jpg" alt=" " class="addImg " /> < img src="img/add2.jpg" alt=" " class="addImg " /> < img src="img/add3.jpg" alt=" " class="addImg " /> </div> <script type="text/javascript "> var indexa = 0; var indexb = 0; function  runads()  { var adimgs = document.getElementsByClassName('newBanner'); if(adimgs != undefined) { for(var i = 0; i < adimgs.length; i++) { adimgs[i].style.display = 'none'; } if(adimgs[indexb] != undefined) { adimgs[indexb].style.display = 'block'; } } indexb = indexb + 1; if(indexb - adimgs.length > -1) { indexb = 0; } } runads(); setInterval(runads,  2500); function  run()  { var imgs = document.getElementsByClassName('addImg'); if(imgs != undefined) { for(var i = 0; i < imgs.length; i++) { imgs[i].style.display = 'none'; } if(imgs[indexa] != undefined) { imgs[indexa].style.display = 'block'; } } indexa = indexa + 1; if(indexa - imgs.length > -1) { indexa = 0; } } run(); setInterval(run,  2500); </script> </body> </html>
...全文
166 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fish_whale 2017-07-25
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:

			function  run(cn,time)  {
				var adimgs = document.getElementsByClassName(cn);
				var index = 0;
				function rp() {
					for(var i = 0; i < adimgs.length; i++) {
						adimgs[i].style.display = 'none';
					}
					adimgs[index].style.display = 'block';
					index = (index+1)%adimgs.length;
				}
				if(adimgs != undefined) {
					rp();
					setInterval(rp, time);
				}
			}
			run('newBanner',2500);
			run('addImg',3000);
报错了 Uncaught TypeError: Cannot read property 'style' of undefined at rp (add.js:45) at run (add.js:49) at add.js:53
fish_whale 2017-07-25
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:
没错啊

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>

</head>

<body>
<div class="aaa">
<img src="img/banner3.png" alt="1" class="newBanner" />
<img src="img/banner2.png" alt="2" class="newBanner" />
<img src="img/banner1.png" alt="3" class="newBanner" />
</div>
<div class="bbb">
<img src="img/add1.jpg" alt="a" class="addImg" />
<img src="img/add2.jpg" alt="b" class="addImg" />
<img src="img/add3.jpg" alt="c" class="addImg" />
</div>
<script type="text/javascript">
			function  run(cn,time)  {
				var adimgs = document.getElementsByClassName(cn);
				var index = 0;
				function rp() {
					for(var i = 0; i < adimgs.length; i++) {
						adimgs[i].style.display = 'none';
					}
					adimgs[index].style.display = 'block';
					index = (index+1)%adimgs.length;
				}
				if(adimgs != undefined) {
					rp();
					setInterval(rp, time);
				}
			}
			run('newBanner',2500);
			run('addImg',3000);
</script>
</body>
</html>
恩恩,我找到报错的原因了,谢谢
天际的海浪 2017-07-25
  • 打赏
  • 举报
回复
没错啊

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>

</head>

<body>
<div class="aaa">
<img src="img/banner3.png" alt="1" class="newBanner" />
<img src="img/banner2.png" alt="2" class="newBanner" />
<img src="img/banner1.png" alt="3" class="newBanner" />
</div>
<div class="bbb">
<img src="img/add1.jpg" alt="a" class="addImg" />
<img src="img/add2.jpg" alt="b" class="addImg" />
<img src="img/add3.jpg" alt="c" class="addImg" />
</div>
<script type="text/javascript">
			function  run(cn,time)  {
				var adimgs = document.getElementsByClassName(cn);
				var index = 0;
				function rp() {
					for(var i = 0; i < adimgs.length; i++) {
						adimgs[i].style.display = 'none';
					}
					adimgs[index].style.display = 'block';
					index = (index+1)%adimgs.length;
				}
				if(adimgs != undefined) {
					rp();
					setInterval(rp, time);
				}
			}
			run('newBanner',2500);
			run('addImg',3000);
</script>
</body>
</html>
天际的海浪 2017-07-24
  • 打赏
  • 举报
回复

			function  run(cn,time)  {
				var adimgs = document.getElementsByClassName(cn);
				var index = 0;
				function rp() {
					for(var i = 0; i < adimgs.length; i++) {
						adimgs[i].style.display = 'none';
					}
					adimgs[index].style.display = 'block';
					index = (index+1)%adimgs.length;
				}
				if(adimgs != undefined) {
					rp();
					setInterval(rp, time);
				}
			}
			run('newBanner',2500);
			run('addImg',3000);

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧