我有一个红色边框的div。我希望这个边框在页面完成加载后让我们说3秒后消失。这个div中有3个图像,我希望它们在同一时间后不透明0.1。我尝试用计时器做这个,但它不会运行。我能够让边框部分工作但是当我尝试做图像时它不会运行,Aptana说有一个错误,其中for循环。
function setPlaylist(){
var playlist = document.getElementById('playlist');
var thumbnails = document.getElementsByClassName('thumb').getElementByTagName('img');
for( var i=0,i<thumbnails.length;i++)
{
thumbnails[i].style.opacity = ('0.1');
}
playlist.style.border = ('none');
/*thumbnails.style.opacity = ('0.1');*/
}
function timerPL(){
setTimeout(setPlaylist,3000);
}
window.addEventListener('load',timerPL,false);
答案 0 :(得分:0)
此功能:
document.getElementsByClassName('thumb').getElementByTagName('img');
// ^
// \_ It's plural. It'll return an array of elements
你需要迭代它们:
var thumbs = document.getElementsByClassName('thumb');
for (var i = 0; i < thumbs.length; i++) {
var thumb = thumbs[i];
...
}
如果您不关心旧浏览器,请使用querySelectorAll
:
var thumbs = document.querySelectorAll('#playlist .thumb img');