Как изменить стиль элементов HTML, а затем вернуть его в onLoad () с помощью JS? - PullRequest
1 голос
/ 04 июня 2010

У меня проблема с модальным окном типа Lightbox, которое некорректно работает с IE. Я обнаружил, что проблема связана с атрибутом стиля скрытого изображения как «display: none». Это прекрасно работает во всех других браузерах. Но для IE мне нужно изменить значение onload на «display: block», а затем вернуться обратно к «display: none», что решит проблему.

Может кто-нибудь сказать мне, как я могу это сделать? Мне нужно применить это правило к нескольким элементам div класса 'image'.

Ответы [ 2 ]

1 голос
/ 04 июня 2010

В вашем 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();
});
0 голосов
/ 04 июня 2010

вы используете какие-либо рамки вообще? Я спрашиваю, потому что это может изменить местоположение, что вы поставили следующий код.

Я не уверен, что это работает в 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';
   ...
}

Редактировать: исправление орфографического орфографии.

...