我有以下代碼來爲div動畫。它完美:僅在匿名函數中出現UncaughtType錯誤
function fadeAndSlideIn(el,m,t) {
el.style.opacity = 0;
el.style.marginTop = 0;
var oi = 1/(t * 60);
var mi = m/(t * 60);
var tick = function() {
el.style.opacity = +el.style.opacity + oi;
el.style.marginTop = (parseInt(el.style.marginTop) + mi) + 'px';
if (+el.style.opacity < 1)
(window.requestAnimationFrame && requestAnimationFrame(tick)) || setTimeout(tick, 16);
}
tick();
}
(function() {
fadeAndSlideIn(document.getElementById('pan1'),125,1);
setTimeout(function() {
fadeAndSlideIn(document.getElementById('pan2'),125,1);
},500);
setTimeout(function() {
fadeAndSlideIn(document.getElementById('pan3'),125,1);
},1000);
})();
然而,當我改變fadeAndSlideIn
功能匿名函數是這樣的:
var fadeAndSlideIn = function(el,m,t) {
我的程序不能正常工作,我得到以下錯誤
Uncaught TypeError: Cannot set property 'opacity' of undefined
爲什麼功能減弱會改變性能?所有代碼位於正文末尾的<script
>標記中。
你可以調試'el'和輸出是什麼? – jdmdevdotnet
沒有值從'fadeAndSlideIn'返回 – guest271314
我懷疑這是你做的唯一的改變。 –