使用For-Loop设置Array的所有元素的样式

时间:2013-02-13 04:30:32

标签: javascript arrays html5 loops for-loop

我有一个红色边框的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);

1 个答案:

答案 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');