function f_s(){ var obj=document.getElementById("box");//獲取ID為box的對(duì)象 obj.style.display="block";//設(shè)置對(duì)象obj為顯示 obj.style.width="1px"; //設(shè)置對(duì)象obj的寬度為1px var changeW=function(){ //(關(guān)于函數(shù)這一點(diǎn),什么閉包,什么類(lèi)、原型的,弄的我頭大了,以后慢慢理解吧。這里我理解的是創(chuàng)建一個(gè)函數(shù)直接量并把它存進(jìn)變量changeW里) var obj_w=parseInt(obj.style.width);//把對(duì)象的寬度轉(zhuǎn)換為一個(gè)數(shù)值,并存入變量obj_w中; if(obj_w<600){ //判斷,如果寬度數(shù)值小于600 obj.style.width=(obj_w+Math.ceil((600-obj_w)/15))+"px";//計(jì)算對(duì)象的寬度。。。隨著寬度的變長(zhǎng),遞增量越來(lái)越小 } else{ clearInterval(bw);//如果大于等于600的話,不再執(zhí)行setInterval,意思就是這個(gè)時(shí)候停止增加寬度了。 } } var bw=window.setInterval(changeW,1)//每0.001秒調(diào)用一次changeW }
//slow to fast 由慢到快 //聲明一個(gè)函數(shù)s_f() function s_f(){ var obj=document.getElementById("box2"); var e_add=1;//初始化遞增量 obj.style.display="block"; obj.style.width="1px"; var changeW=function(){//我理解的是創(chuàng)建一個(gè)函數(shù)直接量并把它存進(jìn)變量changeW里 var obj_w;e_add obj_w=parseInt(obj.style.width); e_add*=1.05;//以后每次遞增的值都是 if(obj_w<600){ obj.style.width=(obj_w+e_add)+"px";//隨著寬度的變長(zhǎng),遞增量越來(lái)越大 } else{ clearInterval(bw); obj.style.width="600px";//因?yàn)?obj_w+e_add)這種計(jì)算方法會(huì)超出預(yù)定義的寬度,所以這里在緩沖完以后重新設(shè)置它的寬度.造成一種假象哈哈 } } var bw=window.setInterval(changeW,1) }