JS 動畫模式改變樣式的封裝 新手

2021-09-02 23:05:32 字數 1332 閱讀 1476

這裡封裝的是乙個物件,用來改變元素的樣式

new出來就可以了

animation_change(ele,attr,target,[mode,[st,[sd]]])

必要引數:ele(目標元素)、attr(目標樣式)、target(變化的大小)

可選引數:mode(0代表target引數給的是變化量,1代表target引數給的是目標量,2代表target引數給的是樣式值,預設為0)、st(步進時間)、sd(步進距離)

(使用注意:1.變化量好理解,而目標量是以第一次呼叫該方法為基準0,並不是指目標樣式的值的大小,最後的樣式值是你需要樣式的最終數值。2.方法內我設定了自鎖給定時器,在定時器結束前是無法再次呼叫的)

//物件-----用來改變樣式

function changeengine(step_time,step_distance)

if(typeof(ele["move_able_"+attr])=='undefined')

//初始化

var step_time=st||this.step_time||20;

var step_distance=sd||this.step_distance||2;

var element=ele;//目標元素

var origin_position=element["current_"+attr];//記錄本次移動前的位置

var attr=attr;

var origin_attr=parseint(getstyle(element,attr));//起始樣式大小

var mode=mode||0;

//設定不同模式的實際改變量

switch(mode)

var direction=distance>0?1:-1;

var current=0;//記錄實時進度

//判斷此時是否可移動

if(element["move_able_"+attr]!=true)else

var clock=setinterval(function()

current=current+step_distance*direction;//記錄本次移動的進度

element.style[attr]=origin_attr+current+"px";//修改元素樣式

element["current_"+attr]=origin_position+current;//修改物件內的位置記錄

},step_time);

}; //獲取style標籤內屬性函式的封裝

function getstyle(ele,attr)else

}}

第22天 js改變樣式效果

一 輸出語句 1 alert 彈出警示框 用的非常少,使用者體驗不好 完整寫法 window.alert 執行語句 window物件,視窗,一般情況可省略 alert 123 2 console控制台輸出 使用者看不見 一般用於測試用 console.log 控制台輸出,普通輸出語句 console...

jquery 給滿足條件的td改變樣式

本篇重點是在學 1 jquery 選擇器 2 jquery find 3 jquery each 內容描述 給一張 用來顏色來顯示事務的不同狀態,紅色代表有人,藍色代表空閒,黃色代表繁忙,怎樣用jquery來實現這樣的效果?html部分 121 3 212 2 323 1測試按鈕 測試 css部分 ...

用JS改變的元素CSS樣式

css樣式的引用有3種方式 style引用 class引用 id引用,所以js改變元素的樣式我們也分3種來說。1.js改變由style方式引用的樣式 方法一 document.divs.style.csstext border 1px solid 000000 color ff0000 方法二 do...