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;