Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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 错误:此.style未定义?_Javascript - Fatal编程技术网

Javascript 错误:此.style未定义?

Javascript 错误:此.style未定义?,javascript,Javascript,很抱歉,我的问题刚刚开始学习javascript 所以我想做一个隐藏slika[0]的函数 function hide() { this.style.display ='none'; }; slika[0] = setTimeout(hide, 4000); 错误是: TypeError: this.style is undefined this.style.display ='none'; 调用hide时,这将是窗口对象,而窗口对象没有样式属性。这就是为什么你会

很抱歉,我的问题刚刚开始学习javascript

所以我想做一个隐藏slika[0]的函数

function hide() {
  this.style.display ='none';
};        

slika[0] = setTimeout(hide, 4000);
错误是:

TypeError: this.style is undefined  
this.style.display ='none';

调用
hide
时,
这将是
窗口
对象,而
窗口
对象没有
样式
属性。这就是为什么你会

this.style is undefined
如果您想隐藏
slika[0]
,那么您应该使用
slika[0]
hide
函数,如下所示

setTimeout(hide.bind(slika[0]), 4000);
function hideObject(object) {
    object.style.display ='none';
}
现在,您已经将
slika[0]
绑定到
hide
函数。因此,当调用
hide
时,
this
将引用
slika[0]
,并将显示样式设置为
none

如果您想要一个泛型函数,您可以简单地接受对象作为参数,如下所示

setTimeout(hide.bind(slika[0]), 4000);
function hideObject(object) {
    object.style.display ='none';
}

谢谢你,这很有效。但是,在slika[0]中没有更改的情况下,正确的函数应该是什么呢?所以当我调用hide()时,我隐藏了那个元素?@user3477366过了一段时间你就隐藏了,对吗?所以,这将是我认为最好的方法。实际上,我正在尝试制作图片滑块,slika[0]是第一个
  • 。所以我试着把4张图片放在一个位置,然后它们就消失了,这是我的第一个滑块:D。所以我通过创建4个相同的函数(slika[0].style.display)(slika[1],slika[2]等等)来实现它。但我想创建一个函数,当调用它时,它会隐藏调用的元素。很抱歉,这个问题解释得不好。@user3477366那么你不需要计时吗?嗯,我还没有很好的逻辑,但正在练习这个。