1. 程式人生 > >JavaScript DOM程式設計藝術(第2版)第七章 動態建立標記

JavaScript DOM程式設計藝術(第2版)第七章 動態建立標記

function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload !='function'){ window.onload = func; } else { window.onload = function () { oldonload(); func(); } } } function
insertAfter(newElement,targetElement) { var parent = targetElement.parentNode; if (parent.lastChild==targetElement){ parent.appendChild(newElement); } else { parent.insertBefore(newElement,targetElement.nextSibling); } } function preparePlaceholder
() { if (!document.createElement) return false; if (!document.createTextNode) return false; if (!document.getElementById) return false; if (!document.getElementById("imagegallery")) return false; var placeholder = document.createElement("img"); placeholder.
setAttribute("id","placeholder"); placeholder.setAttribute("src","../img/timeqq.png"); placeholder.setAttribute("alt","my image gallery"); var description = document.createElement("p"); description.setAttribute("id","description"); var desctext = document.createTextNode("Choose an image"); description.appendChild(desctext); var gallery = document.getElementById("imagegallery"); insertAfter(placeholder,gallery);//圖片placeholder插到gallery後面 insertAfter(description,placeholder);//文字description插到placeholder後面 } function prepareGallery() { if (!document.getElementsByTagName) return false; if (!document.getElementById) return false; if (!document.getElementById("imagegallery")) return false; var gallery = document.getElementById("imagegallery"); var links = gallery.getElementsByTagName("a"); for (var i=0;i<links.length;i++){ links[i].onclick = function () { return showPic(this); } links[i].onkeypress=links[i].onclick; } } function showPic(whichpic) { if (!document.getElementById("placeholder")) return true; var source = whichpic.getAttribute("href"); var placeholder = document.getElementById("placeholder"); placeholder.setAttribute("src", source); if (!document.getElementById("description")) return false; if (whichpic.getAttribute("title")) { var text = whichpic.getAttribute("title"); } else { var text = ""; } //用一個變數存放description的文字p var description = document.getElementById("description"); if (description.firstChild.nodeType == 3) {//nodeType屬性檢查返回一個大寫字母的值 //把連結title傳給text變數 description.firstChild.nodeValue = text; } return false; } addLoadEvent(prepareGallery); addLoadEvent(preparePlaceholder);