現(xiàn)在,在適當(dāng)?shù)奈恢梦覀冇兴械姆椒üぞ?,以及?dāng)窗口載完時被調(diào)用的init() ,我們可以開始具體化此方法。
注:這僅是 init() 方法,而不是整個腳本。因為有行號,復(fù)制并粘貼腳本將會導(dǎo)致錯誤。 1: init:function(){2: if(document.getElementById && document.createTextNode){3: var list = document.getElementById(' ');4: if(list){5: slideshow.items = list.getElementsByTagName('li');6: slideshow.all = slideshow.items.length;7: if(slideshow.all > 1){8: slideshow.addClass(list, 'js');9: slideshow.createNav(list);10: }11: }12: slideshow.show();13: }14: },
createNav()方法使用DOM腳本創(chuàng)建幻燈片正常工作所需的HTML。
1: createNav:function(o){2: var p = document.createElement('p');3: slideshow.addClass(p, 'slidenav');4: slideshow.prev = document.createElement('a');5: slideshow.prev.setAttribute('href', '#');6: var templabel = document.createTextNode('<<');7: slideshow.prev.appendChild(templabel);8: slideshow.addEvent(slideshow.prev, 'click', slideshow.show);9: p.appendChild(slideshow.prev);10: slideshow.count = document.createElement('span');11: templabel = document.createTextNode( (slideshow.current+1) + ' / ' + slideshow.all);12: slideshow.count.appendChild(templabel);13: p.appendChild(slideshow.count);14: slideshow.next = document.createElement('a');15: slideshow.next.setAttribute('href', '#');16: var templabel = document.createTextNode('>>’);17: slideshow.next.appendChild(templabel);18: slideshow.addEvent(slideshow.next, ‘click’, slideshow.show);19: p.appendChild(slideshow.next);20: o.parentNode.insertBefore(p, o);21: },
這些被創(chuàng)建的所有標(biāo)記都是必要的,最后剩下的是去定義一個當(dāng)鏈接被點擊時調(diào)用的監(jiān)聽方法show() 。
1: show:function(e){2: if(this === slideshow.next || this === slideshow.prev){3: slideshow.removeClass(slideshow.items[slideshow.current], ‘current’);4: var addto = (this === slideshow.next) ? 1 : -1;5: slideshow.current = slideshow.current + addto;6: if(slideshow.current < 0){7: slideshow.current = (slideshow.all-1);8: }9: if(slideshow.current > slideshow.all-1){10: slideshow.current = 0;11: }12: }13: var templabel = document.createTextNode((slideshow.current+1) + ‘ / ‘ + slideshow.all);14: slideshow.count.replaceChild(templabel, slideshow.count.firstChild);15: slideshow.addClass(slideshow.items[slideshow.current], ‘current’);16: slideshow.cancelClick(e);17: },
這些是腳本的所有內(nèi)容。現(xiàn)在這個腳本可以工作,但仍不是真正可維護的。