Не обновляется экран в Opera

SonyEricsson

Новичок
Не обновляется экран в Opera

Добрый день. Возникла проблема.

На странице есть три элемента, каждый элемент состоит из картинки и сслыки, по щелчку на элементе раскрывается таблица, используется свойство display: none. В IE и FireFox все хорошо, а в опере заметен такой эффект: например, я нажимаю на верхнем элементе, раскрывается таблица, два нижэних элемента сдвигаются вниз, если я опять нажимаю на верхнем элементы, таблица скрывается, два нижних элемента поднимаются вверх, и они же остаются внизу, т.е. после этих махинаций на странице отображаются 5 элементов, два нижних элемента браузер не перересовал, вернее не убрал их. Чтобы был опонятнее нарисую:


картинка1 ссылка1
картинка2 ссылка2
картинка3 ссылка3

- нажимаем на ссылку1

картинка1 ссылка1
..........................
..........................
..........................
..........................
картинка2 ссылка2
картинка3 ссылка3

- опять нажимаем на ссылку1

картинка1 ссылка1
картинка2 ссылка2
картинка3 ссылка3



картинка2 ссылка2
картинка3 ссылка3


Причем на локальном сервере таких эффектов не было, когда азлил на сервер, в опере стал он возникать, а в 2-х других браузерах все в порядке. Из-за чего это может быть? Спасибо.
 

ZigFreeD

Новичок
а у тебя ссылки с таблицами в блоках находятся?
по идеи если в блоках то такого не должно быть...
 

ZigFreeD

Новичок
на малой цифровой клавиатуре значок звездочки...

хотя чем это может ему помочь я не предстваляю...
ЗЫ: 2SonyEricsson восстановление масштаба экрана к значению по умолчанию (100%)
 

Pigmeich

Новичок
ZigFreeD
И не только востановление, но и сигнал Опере к перерисовке.
 

SonyEricsson

Новичок
Pigmeich
Да, это помогает, но это дополнительная головная боль, объяснять всем что нужно еще дополнительно что-то нажимать, я считаю это не нормальным, дело в том что я видел данную же реализацию(например, Яндекс, отзывы), так там все нормально.
 

dimagolov

Новичок
Автор оригинала: SonyEricsson
дело в том что я видел данную же реализацию(например, Яндекс, отзывы), так там все нормально.
Есть 2 варианта: там код html & js который скрывает/показывает идентичный твоему, и тогда значит разные релизы оперы с разными багами или
код отличается, но опера одна и та же.

Разобраться в том, какой вариант имеет место быть не представляет проблем.
Решение после этого очевидно, ИМХО
 

Pigmeich

Новичок
SonyEricsson
вот тогда к двум вариантам dimagolov, я добавлю вариант отправить bug report в Оперу.
 

dimagolov

Новичок
Pigmeich
баг-репорты слать ИМХО бесполезно, так как во-первых их все равно вряд ли прочитают, а если и прочитают, то он каксается конкретного билда который давным давно устарел, а в текущем он может быть уже быть компенсирован другим багом или даже поправлен

SonyEricsson
какая разница почему нету? тебя то волнует почему есть, вот с этим и надо разбираться
 

dimagolov

Новичок
SonyEricsson, не парься. в следующих билдах Оперы со средней вероятностью 50% баг может как наблюдаться, так и исчезать. Это зависит от фазы луны в момент сборки билда.
 

SonyEricsson

Новичок
Pigmeich
Насчет 9.23 не знаю, мне кажется это уже будет слишком ставить на комп каждую версию.

dimagolov
Этот билд, наверно, собирали в полнолуние.
 

Dovg

Продвинутый новичок
SonyEricsson
Скинь пожалуйста код, который вызывает данный глюк
я сам однажды на это натолкнулся (тоже только в опере)
тогда поставил костыль - скрывал и тут же показывал родителя
--
Сейчас хочу повторить и не могу, все работает нормально (9,5)
--
Глюк возникал при следующих условиях:
абсолютное позиционирование родителя, в нем два дива подряд
один display: none; другой block;

Сначала скрывал видимый, потом показывал невидимый
 

dimagolov

Новичок
Dovg, пойми, проблема в том, что у оперы твой костыль может исарвлять баг в одних билдах и вызывать в других. не говоря уже о том что он будет впустую мучать все другие здоровые броузеры. плавающих из билда в билд багов в опере столько, а самих билдов столько, что жизни не хватит перепробывать хоть один из костылей в большинстве из них.
 

SonyEricsson

Новичок
Dovg

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<style>
* { margin: 0; }
body { position: absolute; width: 100%; height: 100%; margin: 0; padding: 0; font-size: 10px; }

* html #head { height: 100%; }
#head { min-height: 100%; margin-right: 13em; margin-left: 13em; background-color: white; border-left: 1px solid #1B4C76; border-right: 1px solid #1B4C76; padding: .5em .5em .5em 1em; font-size: 11px; font-family: Verdana; }

div.mcbranch table { width: 100%; font-size: 13px; font-family: Arial; border-collapse: collapse; padding: 0; margin: 0; }
div.mcbranch td { border: 1px solid #E9E9E9; }
div.mcbranch th { border: 1px solid #E9E9E9; background-color: #E9E9E9; }

div.mchidden div.mcbranch { display: none; }
div.mcshowed div.mcbranch { display: block; padding-top: .5em; }

div.mcshowed a.plus { background-image: url(images/minus.gif); background-position: 0 0; }
div.mchidden a.plus { background-image: url(images/plus.gif); background-position: 0 0; }
a.plushref { color: #000000; font-family: Verdana; font-size: 12px; margin: 0; }
</style>
</head>
<body>
<div id="head">
<br>

<div class="mchidden" id="id2">
<img id="id2_plus" src="images/plus.gif" alt="2" title="2" border="0">
<a class="plushref" href="#" onclick="mc = document.getElementById('id2'); mcplus = document.getElementById('id2_plus'); mc.className=='mchidden'?mcplus.src='images/minus.gif':mcplus.src='images/plus.gif'; mc.className = mc.className=='mchidden'?' mcshowed':'mchidden'; return false;">1</a>
<div class="mcbranch">
<table class="table">
<tr>
<th class="tableth">Шифр</th>
<th class="tableth">1</th>
<th class="tableth">2</th>
<th class="tableth">Кол-во</th>
<th class="tableth">Сумма</th>
</tr>

<tr>
<td class="tabletd">8003</td>
<td class="tabletd">1 </td>
<td class="tabletd">1 </td>
<td class="tabletd">186</td>
<td class="tabletd" align="right">17678.71</td>
</tr>

<tr>
<th class="tableth" colspan="4" align="left">Итого</th>
<th class="tableth" align="right">294252.53</th>
</tr>
</table>
</div>
</div>

<br>

<div class="mchidden" id="id1">
<img id="id1_plus" src="images/plus.gif" alt="2" title="2" border="0">
<a class="plushref" href="#" onclick="mc = document.getElementById('id1'); mcplus = document.getElementById('id1_plus'); mc.className=='mchidden'?mcplus.src='images/minus.gif':mcplus.src='images/plus.gif'; mc.className = mc.className=='mchidden'?' mcshowed':'mchidden'; return false;">2</a>
<div class="mcbranch">
<table class="table">
<tr>
<th class="tableth">1</th>
<th class="tableth">Исходящее, руб</th>
<th class="tableth">Входящее, руб</th>
<th class="tableth">Оплачено, руб</th>
<th class="tableth">Начислено, руб</th>
</tr>
<tr>
<td class="tabletd">1 </td>
<td class="tabletd" align="right">-1044098.27</td>
<td class="tabletd" align="right">-774274.99</td>
<td class="tabletd" align="right">7.17</td>
<td class="tabletd" align="right">294252.53</td>
</tr>

</table>
</div>
</div>


</div>

</body>
</html>

-~{}~ 23.11.07 15:16:

Интересно, убираю картинку перед ссылкой,все нормально.
 

Dovg

Продвинутый новичок
SonyEricsson
Спасибо!
работает нормально
Версия 9.50 Alpha
Сборка 9500
dimagolov
Я понимаю, просто воспроизвести хочется еще раз, дабы запомнить и не делать так больше
сам я оперой не пользуюсь, но я ведь не единственный посетитель интернета
 
Сверху