如何更改HTML元素样式,然后使用JS将其还原为onLoad()?

时间:2010-06-04 13:39:33

标签: javascript html internet-explorer onload

我遇到Lightbox类型模式窗口无法正常使用IE的问题。我已经将问题确定为由于隐藏图像的样式属性为'display:none'。这适用于所有其他浏览器。但是对于IE,我需要将值onload更改为'display:block'然后直接返回'display:none'来解决问题。

有人能告诉我怎么做吗?我需要将此规则应用于类'image'的多个div。

2 个答案:

答案 0 :(得分:1)

在你的CSS中

.image{ display:none; }
你的HTML中的

...
<body onload="switch" >
...


<script type="text/javascript">
function switch(){
    var divs = document.getElementsByClassName("image"); // not supported by all browsers but you can easily find implementations on the web

    for(var index=0;index<divs.length;index++)
    {
        divs[index].style.display='block';
    }
}
</script>

</body>

jquery版本:

$(document).ready(function(){
    $(".image").show();
});

答案 1 :(得分:0)

你正在使用任何框架吗?我问,因为这可以改变您放置以下代码的位置。

如果这在IE中有效,我不肯定,但它可能会:

<img ... onload="this.style.display='block';this.style.display='none';">

没有把它放在你的身体/文件onLoad函数中(如果你没有创建一个)。

function docOnLoad()
{
   ...
   document.getElementById('img_in_question').style.display = 'block';
   document.getElementById('img_in_question').style.display = 'none';
   ...
}

编辑:修复我的horribad拼写。