为了账号安全,请及时绑定邮箱和手机立即绑定

为什么判断语句写在点击事件函数体内没有效果?如果要写在点击事件函数体内该怎样写?

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<style>
			*{margin:0;padding:0;text-decoration:none;}
			body{padding:20px}
			#container{width:600px;height:400px;border:3px solid #333;overflow:hidden;position:relative;margin:0 auto;}
			#list{width:4200px;height:400px;position:absolute;z-index:1;}
			#list img{float:left;}
			#buttons{position:absolute;width:100px;height:10px;bottom:20px;left:250px;z-index:2;}
			#buttons span{cursor:pointer;display:block;float:left;width:10px;height:10px;border:1px solid #FFF;border-radius:50%;background:#333;margin-right:5px;}
			.arrow{position:absolute;display:none;width:40px;height:40px;line-height:40px;z-index:2;font-size:36px;text-align:center;font-weight:bold;top:180px;background-color:rgba(0,0,0,.3);color:#FFF;}
			#prev{left:20px;}
			#next{right:20px;}
			#container:hover .arrow{display:block;}
			.arrow:hover{background-color:rgba(0,0,0,.7);}
		</style>
		<script>
			window.onload = function(){
				var container = document.getElementById('container');
				var list      = document.getElementById('list');
				var buttons   = document.getElementById('buttons').getElementsByTagName('span');
				var prev      = document.getElementById('prev');
				var next      = document.getElementById('next');
			
				function animate(offset){
					list.style.left=parseInt(list.style.left)+offset+'px';
					
				}
				next.onclick = function(){
					animate(-600);
					if(list.style.left<-3000){
						list.style.left=-600+'px';
					}
				}
				prev.onclick =function(){
					animate(600);
					if(list.style.left>-600){
						list.style.left=-3000+'px';
					}
				}
			}
		</script>
	</head>
	<body>
		<div id="container">
			<div id="list" style="left:-600px">
				<img src="img/5.jpg" alt="" title="">
				<img src="img/1.jpg" alt="" title="">
				<img src="img/2.jpg" alt="" title="">
				<img src="img/3.jpg" alt="" title="">
				<img src="img/4.jpg" alt="" title="">
				<img src="img/5.jpg" alt="" title="">
				<img src="img/1.jpg" alt="" title="">
			</div>
			<div id="buttons">
				<span index="1" class="on"></span>
				<span index="2" class=""></span>
				<span index="3" class=""></span>
				<span index="4" class=""></span>
				<span index="5" class=""></span>	
			</div>
			<a href="#" id="prev" class="arrow"><</a>
			<a href="#" id="next" class="arrow">></a>
		</div>
	</body>
</html>


正在回答

2 回答

function showButton(){
    for(var i=0;i<buttons.length;i++){
        buttons[i].className='';
    }
    if(index>5){
	index=1;
    }
    if(index<1){
	index=5;
    }
    buttons[index].className='on';
}

我是这样写的,不过点击事件函数里面index+=1和index-=1应该放在showButton();前面,如下

next.onclick=function(){

     animate(-720);

     index+=1;

     showButton();

}

prev.onclick=function(){

     animate(720);

     index-=1;

     showButton();

}


0 回复 有任何疑惑可以回复我~
#1

慕数据5775487 提问者

非常感谢!
2016-12-09 回复 有任何疑惑可以回复我~

请问你的问题,该怎么解释呢,我也有相同的疑问,上面回答显然没答到点子上啊.

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
焦点图轮播特效
  • 参与学习       65278    人
  • 解答问题       611    个

通过本教程学习您将能掌握非常实用的焦点图轮播特效的制作过程

进入课程

为什么判断语句写在点击事件函数体内没有效果?如果要写在点击事件函数体内该怎样写?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信