Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Не сворачивается обратно в Opera (https://javascript.ru/forum/css-html-browser/13982-ne-svorachivaetsya-obratno-v-opera.html)

FreeStyler 22.12.2010 20:34

Не сворачивается обратно в Opera
 
Собственно

<html>
<head>
</head>
<body>
<fieldset style="border:0px;padding:0px;" id="zn">
<legend><a href="" onclick="leg('zn'); return false;">Заголовок</a></legend>
<div id="zzn" style="display:none">
Содержимое
</div>
<script>
function leg(zid){
zzid = 'z'+zid;
if (document.getElementById(zid).style.border == '1px dotted rgb(0, 255, 0)') {
document.getElementById(zid).style.border='0px';
document.getElementById(zzid).style.display='none';
} else {
document.getElementById(zid).style.border='1px dotted #00FF00';	
document.getElementById(zzid).style.display='';
} 
}
</script>
</body>
</html>


В лисе всё норм! Надоела эта странная итерпритация ЖС в опере! Кто с ней работает, может скажет в чём проблема? А то firebug не ней нету

monolithed 23.12.2010 01:05

<script type="text/javascript">
window.onload = function(){
    document.getElementsByTagName('a')[0].onclick = function(){
        var div = document.getElementsByTagName('div')[0];
        div.style.display = div.style.display == 'block' ? '' : 'block';
    };
};
</script>

<style type="text/css">
div {display: none;}
</style>

<a href="#">click</a>
<div>text</div>

FreeStyler 23.12.2010 01:11

Нету border как у legend, как сделать простой hide show я знаю, а вот почему такой скрипт в опере не робит не пойму! :-E

x-yuri 23.12.2010 07:39

потому что не надо хранить состояние в стилях, тем более в таких как border

FreeStyler 23.12.2010 12:38

ну если другого выхода нет

ksa 23.12.2010 15:47

Цитата:

Сообщение от FreeStyler
ну если другого выхода нет

Т.е. свойство display тебя не устраивает? Ты же ведь потом им оперируешь...

x-yuri 23.12.2010 21:15

Цитата:

Сообщение от FreeStyler
ну если другого выхода нет

если ты не видишь другого выхода, это не значит, что его нет ;)

FreeStyler 25.12.2010 10:37

Цитата:

Сообщение от x-yuri (Сообщение 84965)
если ты не видишь другого выхода, это не значит, что его нет ;)

ну сделай другой выход для opera если я ослеп <_<

FreeStyler 25.12.2010 10:38

Цитата:

Сообщение от ksa (Сообщение 84913)
Т.е. свойство display тебя не устраивает? Ты же ведь потом им оперируешь...

почему? просто нужно border как у легенд! только у него такой border

x-yuri 25.12.2010 11:26

Цитата:

Сообщение от FreeStyler
ну сделай другой выход для opera если я ослеп <_<

повторю еще раз, здесь рыбы нет используй display: none:
if (document.getElementById(zzid).style.display != 'none') {


Часовой пояс GMT +3, время: 04:29.