1 // 圖片滾動
2 //適用於獲取某個HTML區塊內部含有某一特定className的所有HTML元素
3 //此函數為自定義函數
4 //<params>className</params>
5 //<params>outid</params>
6 function getElementsByClassName(className,outid) {
7 var oBox = document.getElementById(outid);//獲取ID為outid的元素
8 this.d = oBox || document; //檢測oBox是否存在,如果不存在則把document賦予內部變量d
9 var children = this.d.getElementsByTagName('*') || document.all; //獲取頁面所有元素
10 var elements = new Array(); //定義一個數組,用於存儲所得到的元素
11 //獲取元素的class為className的所有元素
12 for (var ii = 0; ii < children.length; ii++) {
13 var child = children[ii];
14 var classNames = child.className.split(' ');
15 for (var j = 0; j < classNames.length; j++) {
16 if (classNames[j] == className) {
17 elements.push(child);//如果class存在,則存入elements
18 break;
19 }
20 }
21 }
22 return elements;
23 }
24 //動態綁定箭頭的onclick函數
25 function addChangeMethod(){
26 try{
27 //以下語句相當於jQuerys(".change")
28 var changeDivs = getElementsByClassName("change","");//獲取class名稱為change的所有頁面元素
29 for(var i=0;i<changeDivs.length;i++){
30 var changeA = changeDivs[i].getElementsByTagName("a");//獲取箭頭對象
31 //循環綁定所有箭頭對象的onclick方法
32 for(var j=0;j<changeA.length;j++){
33 //給箭頭對象的onclick賦予函數
34 changeA[j].onclick = function(){
35 //以下語句相當與jquery中
36 //jQuerys("."+className+" dd:last").prependTo("."+className);
37 var divs = getElementsByClassName(this.rel);//調用自定義函數
38 var dds = divs[0].getElementsByTagName("dd");
39 var dd = dds[dds.length-1];
40 divs[0].insertBefore(dd,divs[0].firstChild);
41 }
42 }
43 }
44 }
45 catch(e){
46 alert(e);
47 }
48 }
49 //頁面加載完畢時,執行函數,動態綁定圖片切換箭頭的onclick函數
50 window.onload = addChangeMethod;