直接用js封裝乙個運動函式,使用時直接呼叫就行,比如做輪播圖時就可以呼叫/** @ele:要進行運動的元素
* @attr:要進行運動css屬性
* @target:運動的目標位置
* @cb:運動結束後,要執行的函式
*/function sport(ele,obj,cb); //
將所有定時器都放到這個物件中
for(let attr in obj)
else
//設定定時器,讓當前樣式每隔20毫秒增加5px
//通過每個css屬性來識別這個定時器
timerobj[attr] = setinterval(function()else
//當前樣式不能都加5,否則不均與,所以加上比例
currentstyle +=percent;
//判斷增加後的樣式是否到達指定距離
if(currentstyle == target)
//如果個數是0,表示所有定時器都刪掉了,也就意味著所有屬性的運動都結束了
if(k==0
) }
else
else}},
20);
}}//
獲採樣式的函式
function getstyle(ele,attr)
else
}
JS運動緩衝的封裝函式
之前經常寫運動函式,要寫好多好多,後來想辦法封裝起來。運動緩衝 1 2 物體多屬性同時運動的函式 3obj 運動的物體 4otarget 物件,屬性名為運動的樣式名,屬性值為樣式運動的終點值 5ratio 速度的係數6 7function buffermove obj,otarget,fn,rati...
js封裝乙個websocket
原文 let socket let setintervalwesocketpush null 開啟ws之後傳送心跳 const onopenws 連線失敗重連 const onerrorws ws資料接收統一處理 const onmessagews e 斷開重連 const onclosews 傳送...
使用原生JS封裝乙個動畫函式
最近一直在忙專案,很少有時間回顧之前的知識,今天剛好要做乙個輪播,因為對相容性有一定的要求,使用了各種外掛程式和庫中的輪播,效果都不是很理想,一怒之下,使用原生js封裝了乙個輪播元件,其中重要的功能就是乙個動畫,看了一下以前封裝的函式,千瘡百孔,又進行了重新封裝,先上 有詳細的備註。function...