Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么这会导致未捕获类型错误_Javascript - Fatal编程技术网

Javascript 为什么这会导致未捕获类型错误

Javascript 为什么这会导致未捕获类型错误,javascript,Javascript,有谁能帮我解释一下为什么这会抛出一个未捕获类型的错误参数2不是一个对象?我知道它在窗口中。addEventListener('load',fadeEffect) 我正忙于学习JS,所以很难弄明白 const preloader = document.querySelector('.preloader'); const fadeEffect = setInterval(() => { if (!preloader.style.opacity) { preloade

有谁能帮我解释一下为什么这会抛出一个
未捕获类型的错误参数2不是一个对象
?我知道它在
窗口中。addEventListener('load',fadeEffect)
我正忙于学习JS,所以很难弄明白

const preloader = document.querySelector('.preloader');

const fadeEffect = setInterval(() => {

    if (!preloader.style.opacity) {
        preloader.style.opacity = 1;
    }
    if (preloader.style.opacity > 0) {
        preloader.style.opacity -= 0.1;
    } else {
        clearInterval(fadeEffect);
    }
}, 100);

window.addEventListener('load', fadeEffect);

setInterval
的返回值是一个数字,表示所设置计时器的ID值

窗口上的第二个参数。addEventListener
应该是函数

因此,您需要按照如下函数制作
fadeEffect

const preload=document.querySelector('.preload');
常量fadeEffect=()=>setInterval(()=>{
如果(!preload.style.opacity){
preload.style.opacity=1;
}
如果(preload.style.opacity>0){
preload.style.opacity-=0.1;
}否则{
清除间隔(fadeEffect);
}
}, 100);
window.addEventListener('load',fadeEffect)

preload
设置间隔的返回值是一个数字,表示所设置计时器的ID值

窗口上的第二个参数。addEventListener
应该是函数

因此,您需要按照如下函数制作
fadeEffect

const preload=document.querySelector('.preload');
常量fadeEffect=()=>setInterval(()=>{
如果(!preload.style.opacity){
preload.style.opacity=1;
}
如果(preload.style.opacity>0){
preload.style.opacity-=0.1;
}否则{
清除间隔(fadeEffect);
}
}, 100);
window.addEventListener('load',fadeEffect)

预加载
您将传递一个间隔作为第二个参数,而不是函数。或者无论
setInteval
返回什么,它可能只是一个引用间隔的数字。“返回的intervalID是一个数字非零值,用于标识调用setInterval()创建的计时器;此值可以传递给WindowOrWorkerGlobalScope.clearInterval()以取消超时。”希望这有助于回答您的问题吗?您将传递一个间隔作为第二个参数,而不是函数。或者无论
setInteval
返回什么,它可能只是一个引用间隔的数字。“返回的intervalID是一个数字非零值,用于标识调用setInterval()创建的计时器;此值可以传递给WindowOrWorkerGlobalScope.clearInterval()以取消超时。”希望这有助于回答您的问题吗?