Для начала, пожалуйста, урежьте свой код до того, что абсолютно необходимо при публикации вопроса. Там есть много кода для анализа (тем более что не все на английском). По крайней мере, очистите ваши комментарии и т.д ...
Но проблема в том, что вы создаете таймер в функции initState () из _RopSayacState
, но затем никогда не останавливаете его. Как объяснила ошибка, которую вы включили в свой вопрос, это вызовет проблемы, поскольку когда виджет больше не отображается, он удаляется из дерева виджетов, и поэтому вызов setState
для него вызовет ошибку.
Чтобы исправить это, все, что вам нужно сделать, это отменить таймер, когда виджет удален. Самый простой способ сделать это - переопределить метод dispose из _RopSayacState
. Это должно выглядеть так.
@override
void dispose() {
super.dispose();
_everySecond.cancel();
}
просто зафиксированный это!:D
что я имел, прежде был:
<div class="options clearfix">
<!--content here-->
</div>
и я заменил для:
<div class="options">
<div class="clearfix">
<!--content here-->
</div>
</div>
Теперь IE6 счастлив, и я счастлив также...
Поблагодарите Вас все за свою справку!
Это обычно - граница, устанавливаемая, который не был определен первоначально. Попытайтесь установить границу на растущем DIV к цвету фона по умолчанию. Мое предположение - то, что Вы не будете видеть, что что-либо больше растет.
Я думаю, что столкнулся с этим однажды, и что происходило, который был границами, изменялись (или действительно ли это были поля?) Я закончил тем, что хватал, и просто дал проблематичным элементам прозрачную границу 1 пкс и прекратил дело.
Я действительно сомневаюсь, что это окажется Вашим решением, но я надеюсь, что оно даст Вам некоторое представление в который направление заглянуть!
Я имел, которые происходят со мной также, но я не могу помнить, где это было точно. Я думаю, что действительно решал его, но я не совсем уверен как больше. Я могу думать о двух вещах:
Дайте элементу "расположение". Я склонен делать это с zoom: 1
.
Добавить vertical-align: top
любому a
или li
элемент.
Вы могли дать более полный пример кода? Я не могу воспроизвести его только с тем CSS.
Вы указывали высоту для того отделения явно? В противном случае установка высоты могла бы заставить это уйти.
Теги расположены в месте, где Вы могли дать им цвет фона все время? Если так, делает выбирание их цвета фона когда: парение не активируется, все еще заставляют их высоту изменяться?
Как примечание, я не могу воспроизвести этот данный HTML, соответствующий правилу, которое Вы описали, таким образом, проблема может возникать из где-то в другом месте выше на странице.
<!-- This does not display the described behavior -->
<div class="options">
<ul class="tags">
<li><a href="#">c++</a></li>
<li><a href="#">not-programming-related</a></li>
<li><a href="#">cheese</a></li>
<li><a href="#">barnacle</a></li>
</ul>
</div>
Лучшая вещь, которую я могу предложить, состоит в том, чтобы сделать то, что меркаторский сказал, и дайте расположение элемента.
Править: Просто выстрел в темноте, но можно хотеть попытаться установить значение для высоты строки на div.options.
РЕДАКТИРОВАНИЕ 2: После наблюдения Ваших снимков экрана я вспоминаю, что у меня была эта проблема на работе прежде, и фиксация в моем случае должна была добавить position:relative;
zoom:1;
к контейнеру (или возможно ссылки, я забываю!). Попробовать это?
РЕДАКТИРОВАНИЕ 3: После поиска с помощью Google для некоторых решений можно хотеть попытаться установить высоту если контейнер явно. Если это не работает, я понятия не имею, что сделать!
I have this exact problem as well. The trigger is definitely the background color on hover, but the usual solutions of giving the parent hasLayout don't work, I think because of nesting the A tags inside other tags. From what I ended up doing, your solution of nesting the clear fix is the right logic: separating the offending element, parent and clearing objects.
The solution I did was the following:
<div class="options">
<!--content here-->
<!--[if lte IE 6]><div class="ie6clear"></div><![endif]-->
</div>
With the following CSS:
.ie6clear{ clear:both; height:0; overflow:hidden; }
This way the clearfix CSS is only applied for IE6, highlights what the extraneous markup is, and makes it easy to remove when IE6 is no longer supported.