運行代碼框
[ctrl+a 全部選擇 提示:你可先修改部分代碼,再按運行]
關鍵代碼請看這兩個就可以了
function f_s(){
var obj=document.getelementbyid("box");//獲取id為box的對象
obj.style.display="block";//設置對象obj為顯示
obj.style.width="1px"; //設置對象obj的寬度為1px
var changew=function(){ //(關于函數這一點,什么閉包,什么類、原型的,弄的我頭大了,以后慢慢理解吧。這里我理解的是創建一個函數直接量并把它存進變量changew里)
var obj_w=parseint(obj.style.width);//把對象的寬度轉換為一個數值,并存入變量obj_w中;
if(obj_w<600){ //判斷,如果寬度數值小于600
obj.style.width=(obj_w+math.ceil((600-obj_w)/15))+"px";//計算對象的寬度。。。隨著寬度的變長,遞增量越來越小
}
else{
clearinterval(bw);//如果大于等于600的話,不再執行setinterval,意思就是這個時候停止增加寬度了。
}
}
var bw=window.setinterval(changew,1)//每0.001秒調用一次changew
}
//slow to fast 由慢到快
//聲明一個函數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(){//我理解的是創建一個函數直接量并把它存進變量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";//隨著寬度的變長,遞增量越來越大
}
else{
clearinterval(bw);
obj.style.width="600px";//因為(obj_w+e_add)這種計算方法會超出預定義的寬度,所以這里在緩沖完以后重新設置它的寬度.造成一種假象哈哈
}
}
var bw=window.setinterval(changew,1)
}
新聞熱點
疑難解答