我有以下代码来为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
我怀疑这是你做的唯一的改变。 –