[英]Problem with setInterval
I have a problem with setInterval on a 'click' event. 我在'click'事件上遇到setInterval问题。 Im already spawning a hidden div.
我已经产生了一个隐藏的div。 But I want spawn and fade in synced and only run the fade in ones.
但是我希望同步生成和淡入,并且只运行淡入。
var anchor = document.getElementById('anchor');
var hiddenElement = document.getElementById('hiddenElement');
var bkgFade = document.getElementById('bkgFade');
anchor.addEventListener('click', spawnImage, false);
hiddenElement.addEventListener('click', despawnImage, false);
function spawnImage() {
setInterval(function() {
document.getElementById('hiddenElement').style.display = 'block';
document.getElementById('bkgFade').style.visibility = 'visible';
hiddenElement.style.opacity += 1.0;
} 1000);
}
function despawnImage() {
document.getElementById('hiddenElement').style.display = 'none';
document.getElementById('bkgFade').style.visibility = 'hidden';
}
This piece of code makes no sense to me: 这段代码对我来说毫无意义:
function spawnImage() {
setInterval(function() {
document.getElementById('hiddenElement').style.display = 'block';
document.getElementById('bkgFade').style.visibility = 'visible';
F hiddenElement.style.opacity += 1;
});
clearInterval();
}
There are multiple things wrong with it. 它有很多问题。
setInterval()
. setInterval()
设置时间。 setInterval()
. setInterval()
的返回值。 clearInterval()
. clearInterval()
。 It should be passed the return value from setInterval()
. setInterval()
返回返回值。 It won't do anything the way you have it. F hiddenElement.style.opacity += 1;
F hiddenElement.style.opacity += 1;
setInterval()
and then immediately clearInterval()
setInterval()
然后立即clearInterval()
opacity
directly won't work in some versions of IE. opacity
在某些版本的IE中将无法使用。 document.getElementById('hiddenElement')
in one place and hiddenElement
in another place. document.getElementById('hiddenElement')
,在另一个地方使用hiddenElement
。 If hiddenElement
is valid, use that both places. hiddenElement
有效,则在这两个地方都使用。 If not, use document.getElementById('hiddenElement')
both places. document.getElementById('hiddenElement')
。 If you describe in more detail what you're really trying to accomplish with this code, folks might be able to help you come up with correct code. 如果您更详细地描述此代码真正要完成的工作,那么人们也许可以帮助您提出正确的代码。
I would highly recommend that animation be done with a library like jQuery or YUI as it's way, way easier to use and make it work cross-browser. 我强烈建议使用jQuery或YUI之类的库来制作动画,因为这样做会更轻松地使用动画并使它跨浏览器工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.