怎么样让它点击两次后还原成原来的颜色?

现在的效果是三个红色的小div点击哪个就哪个就变成黄色 同时其它的div都变成红色 现在想完善一下 在上面这个基础上 点击哪个div两次 还让它还原成原来的颜色 这个效果怎么弄呢?

<!DOCTYPE html>

<html>

<head>

    <title></title>

    <style type="text/css">

    #head{width: 400px;height: 500px;background-color: blue;margin: 0 auto;}

    #div1,#div2,#div3{width: 100px;height: 80px;background-color: red;}

    </style>

    <script type="text/javascript">

        window.onload=function(){

            var oDiv1=document.getElementById('head');

            var oDiv=oDiv1.getElementsByTagName('div')

            for(i=0;i<oDiv.length;i++){

               oDiv[i].onclick=function(){

                    for(j=0;j<oDiv.length;j++){

                      oDiv[j].style.backgroundColor="red"

                      this.style.backgroundColor="yellow"

                    }

                }

                

            }

            

        }

    </script>

</head>

<body>

<div id="head">

    <div id="div1"></div><br />

    <div id="div2"></div><br />

    <div id="div3"></div>

</div>

</body>

</html>


长风秋雁
浏览 597回答 1
1回答

心有法竹

测试完毕,来得晚了点。代码的关键解析在最下面。<!DOCTYPE&nbsp;html><html><head> &nbsp;&nbsp;&nbsp;&nbsp;<title></title> &nbsp;&nbsp;&nbsp;&nbsp;<style&nbsp;type="text/css"> &nbsp;&nbsp;&nbsp;&nbsp;#head{width:&nbsp;400px;height:&nbsp;500px;background-color:&nbsp;blue;margin:&nbsp;0&nbsp;auto;}&nbsp;&nbsp;&nbsp;&nbsp;#div1,#div2,#div3{width:&nbsp;100px;height:&nbsp;80px;background-color:&nbsp;red;}&nbsp;&nbsp;&nbsp;&nbsp;</style> &nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;type="text/javascript"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.onload&nbsp;=&nbsp;function(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;oDiv1&nbsp;=&nbsp;document.getElementById('head');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;oDiv&nbsp;=&nbsp;oDiv1.getElementsByTagName('div')&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;oDiv.length;&nbsp;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oDiv[i].onclick=function(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(j=0;&nbsp;j<oDiv.length;&nbsp;j++){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(this.getAttribute("style")&nbsp;==&nbsp;"background-color:&nbsp;yellow;")&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.style.backgroundColor&nbsp;=&nbsp;"red"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oDiv[j].style.backgroundColor&nbsp;=&nbsp;"red";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.style.backgroundColor&nbsp;=&nbsp;"yellow"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;</script></head><body><div&nbsp;id="head"> &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;id="div1"></div><br&nbsp;/> &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;id="div2"></div><br&nbsp;/> &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;id="div3"></div></div></body></html>重点在于这边,当自身被点中后,如果style是黄色,则改变自身,否则就按旧有逻辑走:for(j=0;&nbsp;j<oDiv.length;&nbsp;j++){&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(this.getAttribute("style")&nbsp;==&nbsp;"background-color:&nbsp;yellow;")&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.style.backgroundColor&nbsp;=&nbsp;"red"; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oDiv[j].style.backgroundColor&nbsp;=&nbsp;"red";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.style.backgroundColor&nbsp;=&nbsp;"yellow"; &nbsp;&nbsp;&nbsp;&nbsp;} }以及,代码格式希望注意一下,别让人读起来费劲,反正最后可以压缩。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript