它的JS與HTML標籤是分離的嗎

一個單的利用JS切換圖片的功能
圖片描述
寫法1:node

<section>
      <h2>JS切換圖片</h2>
      <ul class="pictable">
        <li><a href="img/1.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/1.jpg" alt=""></a></li>
        <li><a href="img/2.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/2.jpg" alt=""></a></li>
        <li><a href="img/3.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/3.jpg" alt=""></a></li>
        <li><a href="img/4.jpg" onclick="showPic(this);return false" title="this picture is beautiful"><img class="picbox" src="img/4.jpg" alt=""></a></li>
    </ul>
    <p id="pic_description">圖片描述</p>
    <img src="https://b-ssl.duitang.com/uploads/item/201408/04/20140804204624_xSeGA.png" id="placeholder" alt="img fult">
    </section>
    
      function showPic(whichpic){
      //改變圖片
    var source =  whichpic.getAttribute("href");
    var placeholder=document.getElementById("placeholder");
    placeholder.setAttribute("src",source);
    //改變圖片描述
    function showPic_description(){
      var text=whichpic.getAttribute("title");
      var pic_desciption=document.getElementById("pic_desciption");
      pic_desciption.childNodes[0].nodeValue=text;
    };
  };

寫法2:ui

<section>
      <h2>JS切換圖片</h2>
      <ul class="pictable" id="img_gallert">
        <li><a href="img/1.jpg"  title="this picture is beautiful"><img class="picbox" src="img/1.jpg" alt=""></a></li>
        <li><a href="img/2.jpg"  title="this picture is beautiful"><img class="picbox" src="img/2.jpg" alt=""></a></li>
        <li><a href="img/3.jpg"  title="this picture is beautiful"><img class="picbox" src="img/3.jpg" alt=""></a></li>
        <li><a href="img/4.jpg"  title="this picture is beautiful"><img class="picbox" src="img/4.jpg" alt=""></a></li>
    </ul>
    <p id="pic_description">圖片描述</p>
    <img src="https://b-ssl.duitang.com/uploads/item/201408/04/20140804204624_xSeGA.png" id="placeholder" alt="img fult">
    </section>
    
    window.onload=prepareGallery;
function prepareGallery(){
  //找到圖片集
  var gallery=document.getElementById("img_gallert");
  // 圖片集的a元素節點
  var link=gallery.getElementsByTagName("a");
  // 遍歷節點
  for(var i=0;i<link.length;i++){
    link[i].onclick=function(){
        showPic(this);
        return false;
    }
  }
};
function showPic(whichpic){
    //改變圖片
  var source =  whichpic.getAttribute("href");
  var placeholder=document.getElementById("placeholder");
  placeholder.setAttribute("src",source);
};

雖然功能都同樣,可是寫法2卻更好JS不會由於HTML裏的代碼改變了,就致使沒法執行。
好的JS應該與HTML標籤是分離的。後期維護更加方便this

相關文章
相關標籤/搜索