2 zaxlctjs zaxlctjs 于 2015.07.11 19:44 提问

JS有参函数的简单问题,诚心求解,谢谢啦
 TYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{margin:0; padding:0;}
.abc{width:720px; height:450px; margin:0 auto; 
     position:relative; left:0; top:0;}
.www{width:120px; height:20px; padding:2px 0 2px 9px;
     position:absolute; right:20px; bottom:20px;}
.www ul li{list-style:none; float:left; margin-right:10px; background:#F60;
           width:20px; height:20px; text-align:center; color:white; 
           cursor:pointer; border-radius:50%;}
</style>
<script type="text/javascript">
function dianji(a){
document.getElementById('pic').src=a+'.jpg';
document.getElementById('bg'+a).style.backgroundColor='black';
                  }
</script>
</head>

<body>
<div class="abc">
   <img src="1.jpg" id="pic"/>
   <div class="www">
      <ul id="bbb">
         <li id="bg1" onclick="dianji(1)">1</li>
         <li id="bg2" onclick="dianji(2)">2</li>
         <li id="bg3" onclick="dianji(3)">3</li>
         <li id="bg4" onclick="dianji(4)">4</li>
      </ul>
   </div>
</div>
</body>
</html>

新手刚开始自学JS,学到带参函数了,写了一个点击切图,假设点击②后大图片变了,小②的背景变成了黑色,怎么写才能点击③后②的黑色背景消失呢?就是点击另一个切图图标的时候其他的图标背景色恢复原状。。。利用简单地方法怎么写?新手求教了,谢谢了
图片说明

1个回答

showbo
showbo   Ds   Rxr 2015.07.11 19:55
已采纳

用个全局变量记住上一个点击的项,移除样式即可

     var lastId = false;
    function dianji(a) {
        if (lastId) document.getElementById('bg' + lastId).style.backgroundColor = '#F60';//
        lastId = a;
        document.getElementById('pic').src = a + '.jpg';
        document.getElementById('bg' + a).style.backgroundColor = 'black';
    }
zaxlctjs
zaxlctjs 回复showbo: thanks,自学过程中遇到纠结问题被解答是很快乐的,由衷的感谢!
2 年多之前 回复
showbo
showbo 回复zaxlctjs: 判断lastId是否存储了值,默认值为false。js其他变量也可以作为if的条件,和其他强类型语言,如C#一定要求为布尔变量。数字0,NaN,null或者undefined等值等价于false,看这个:http://www.jb51.net/article/50197.htm记得采纳
2 年多之前 回复
zaxlctjs
zaxlctjs 试了一下可以的,谢谢你,但是不明白if那行语句是什么意思,是if语句吗
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片