課程
/前端開發(fā)
/JavaScript
/JS動(dòng)畫效果
測(cè)試時(shí)候發(fā)現(xiàn) 實(shí)際偏移值 和 預(yù)期值 之間有一定偏差 為什么?
2016-11-25
源自:JS動(dòng)畫效果 6-2
正在回答
function manyDivMove(obj,json,fn) {
clearInterval(obj.timee);
obj.timee = setInterval(function () {
var flag = true;//看這里 1
for(var attr in json){
var ico = 0;
if (attr=='opacity') {
ico = parseFloat(getStyle(obj,attr))*100;
}else{
ico = parseInt(getStyle(obj,attr));
}
var speed = (json[attr]-ico)/8;
speed = speed>0? Math.ceil(speed):Math.floor(speed);
if(json[attr]!=ico){
flag = false;//看這里 2
//obj.style.filter = 'alpha(opacity:'+(ico+speed)+')';
obj.style.opacity = ( speed + ico )/100;
obj.style[attr] = speed + ico+'px';
if (flag) {//同時(shí)動(dòng)作做完了才清除定時(shí)器
if (fn) {fn(obj);}
},30);
添加一個(gè) flag 來(lái)判斷是否所有同步的動(dòng)作都做完了
慕虎8944357 提問(wèn)者
舉報(bào)
通過(guò)本課程JS動(dòng)畫的學(xué)習(xí),從簡(jiǎn)單動(dòng)畫開始,逐步深入各種動(dòng)畫框架封裝
3 回答flag值的改變?
4 回答要讓谷歌瀏覽器實(shí)現(xiàn)此特效怎么辦呢,這個(gè)特效我測(cè)試了只能用IE打開。
2 回答為什么我的當(dāng)前值會(huì)比目標(biāo)值差1px
1 回答谷歌瀏覽器動(dòng)不了
2 回答寬度變化值不同?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-11-25
function manyDivMove(obj,json,fn) {
clearInterval(obj.timee);
obj.timee = setInterval(function () {
var flag = true;//看這里 1
for(var attr in json){
var ico = 0;
if (attr=='opacity') {
ico = parseFloat(getStyle(obj,attr))*100;
}else{
ico = parseInt(getStyle(obj,attr));
}
var speed = (json[attr]-ico)/8;
speed = speed>0? Math.ceil(speed):Math.floor(speed);
if(json[attr]!=ico){
flag = false;//看這里 2
if (attr=='opacity') {
//obj.style.filter = 'alpha(opacity:'+(ico+speed)+')';
obj.style.opacity = ( speed + ico )/100;
}else{
obj.style[attr] = speed + ico+'px';
}
}
}
if (flag) {//同時(shí)動(dòng)作做完了才清除定時(shí)器
clearInterval(obj.timee);
if (fn) {fn(obj);}
}
},30);
}
添加一個(gè) flag 來(lái)判斷是否所有同步的動(dòng)作都做完了