Javascript 为什么setTimeout()不能工作?

Javascript 为什么setTimeout()不能工作?,javascript,settimeout,Javascript,Settimeout,我只是想让我的函数在运行前等待3秒钟。这看起来很简单,但出于某种原因,我一直得到: 未定义slideFunction 控制台中的错误。如果我只调用函数而不尝试使用setTimeout,它就可以工作。这里怎么了 window.onclick = slideFunction; setTimeout(slideFunction, 3000); { document.getElementById('#img3').style.marginLeft = "100px"; } 它可以工作,但是您正

我只是想让我的函数在运行前等待3秒钟。这看起来很简单,但出于某种原因,我一直得到:

未定义slideFunction

控制台中的错误。如果我只调用函数而不尝试使用setTimeout,它就可以工作。这里怎么了

window.onclick = slideFunction;

setTimeout(slideFunction, 3000); { 
  document.getElementById('#img3').style.marginLeft = "100px";
}

它可以工作,但是您正在调用的函数需要被定义并成为一个函数。例如:

函数滑动函数{ document.getElementById'img3'.style.marginLeft=100px; } document.body.onclick==>setTimeoutslideFunction,3000; img3{ 宽度:50%; 边框:1px纯红; 高度:100px; 过渡:左边距。3立方贝塞尔。4,0,2,1; } 正文,html{高度:100%;边距:0;}
重新加载您正在寻找的整个解决方案:

function slideFunction(){
  document.getElementById('#img3').style.marginLeft = "100px";
}
window.onclick = slideFunction;

setTimeout(slideFunction, 3000);

谢谢大家的帮助。我确实设法让它以我需要的方式工作

  function slideFunction(){
  document.getElementById('#img3').style.marginLeft = "100px";
  }

  document.body.onclick = () => setTimeout(slideFunction, 3000);
  }

什么是slideFunction?再看看你的语法。。。。它对于创建函数无效。您只需要调用setTimeout和一个单独的代码块