前端學習筆記之三——用js控制div的顯示和隱藏


     今天做了第三道題,題目如下:

             

      

     我做的作業如下,瀏覽器測試沒問題,不過肯定還有需要優化的地方。

<!DOCTYPE html >
<head>
     <title> new document </title>
    <meta charset="utf-8"/>
</head>
<body>
    <input type="button" id="butn" value="顯示/隱藏" />
    <div id="div1">標題</div>
    <div id="div2">內容</div>
</body>
    <script type="text/javascript">
        var btn=document.getElementById("butn");
        btn.onclick=function(){
             var div1=document.getElementById("div1");
             var div2=document.getElementById("div2");

             var style2=window.getComputedStyle(div2);
             div2.style.display=style2.display=="none"?"block":"none";

             if(style2.display=="none"){
                   div1.innerHTML="隱藏了";
                   btn.value="顯示";
             }else{
                  div1.innerHTML="顯示了";
                  btn.value="隱藏";
            }
        }
</script>
</html>

----------------------------------------------------------------------

     然而還是有同學可以寫出很簡潔的代碼,其中一個同學把按鈕的value值當作判斷條件,好像比我用display屬性值來判斷方便一些,代碼如下:

       

 

       還有一位同學用到了addEventListener(),設置了按鈕的“顯示”“隱藏”的交替變化,但沒有實現div內容的顯示和隱藏。

                

    不過添加div的顯示和隱藏還是挺容易的,下面我在前一位同學代碼基礎上改過的,瀏覽器測試也沒有問題。

<script type="text/javascript">
    var btn = document.getElementById('butn')
    var div1=document.getElementById("div1");
    var div2=document.getElementById("div2");

    btn.addEventListener('click', change)
    function change () {
        if (this.value == '顯示') {
            this.value = '隱藏'
            div1.innerHTML=‘隱藏了’;
            div2.style.display=‘none’;
         } else {
            this.value = '顯示'
            div1.innerHTML=‘顯示了’;
            div2.style.display=‘block’;
        }
    }
</script>

 

   今天溫習了獲取元素的方法以及給按鈕綁定事件的方法。后面一個同學作業中用到的btn.addEventListener('事件', 函數名),是我做題時沒有想到的,希望自己記下來,以后我也可以用用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM