elo ;-)
Mala wprawka z Javascripta/CSS i od razu porazka :>
Testowa strona (bzdurny przyklad ale obrazuje problem):
<html>
<head>
<script>
function sh(hide)
{
var row = document.getElementById("2");
row.style.display = hide ? "none" : "block";
}
</script>
</head>
<body>
<table border="1">
<tr id="1">
<td>1-1</td>
<td>1-2</td>
</tr>
<tr id="2">
<td>2-1</td>
<td>2-2</td>
</tr>
</table>
<a href="javascript:sh(true);">Hide</a>
<a href="javascript:sh(false);">Show</a>
</body>
</html>
Mamy dwa wiersze tabeli, i 2 linki, z ktorych pierwszy ukrywa drugi wiersz tabeli, a drugi pokazuje go z powrotem. Problem jest taki ze na Operze (7.51 w domu, 7.54 w pracy) po schowaniu i ponownym wyswietleniu wiersza tabela wyglada cokolwiek dziwnie, jakby Opera miala problemy z przeliczeniem liczby komorek w wierszu. Na IE to wyglada sensownie.
Jakies pomysly, jak to obejsc?
Pozdrawiam, g.
@gms_,
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
pi
edit: Jednak problem jest tak czy inaczej. Firefox zachowuje się identycznie.
Thx, dobrze wiedziec :> Tak czy inaczej problem jest ten sam...
Normalnie nie tykam sie html/css/js, ale teraz chcialem oprogramowac pewien komponent takze po stronie klienta, i takie zonki wychodza...
Edit: pewnym wyjsciem jest chyba uzycie visibility zamiast display, ale wtedy zostaje puste miejsce, tam gdzie byl wiersz... Lepiej, ale ciagle nie to co bym chcial ;-)
Pozdrawiam, g.
Hm, a może pokombinuj tak:
<a href="#" onclick="document.getElementById('idelementu').style.display='none'">ukryj</a></p>
<a href="#" onclick="document.getElementById('idelementu').style.display='block'">pokaż</a></p>
Eee, no przeciez to zasadniczo to samo co przedtem, tyle ze nie opakowane w funkcje ;-). Tabelka tak samo zlosliwie udaje, ze nie wie, ile ma komorek i gdzie :>.
Opera, Gecko dobrze robią.
I przyczyna nie tkwi w przelicznaiu komórek.
Po prostu tabela wariuje w momencie, gdy... rozkazujesz jedemu jej wierszowi zamienić się z wiersza w blok.
[edited]
http://podolszyna.com/test
Przypisanie display = "" powoduje, że przyjmuje on domyślną wartość dla danego elementu. Jeśli chcesz, możesz sprawdzić jaka jest ta domyślna wartość i to ją przypisywać. Efekt ten sam.
Big thx! :-)