Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   В чате мигают смайлы. (https://javascript.ru/forum/misc/26860-v-chate-migayut-smajjly.html)

Tums37 25.03.2012 18:11

В чате мигают смайлы.
 
Пишу чат. Сообщения обновляются через Ajax каждые 5 сек. Решил сделать возможность добавления смайлов, но каждые 5 сек смайл мигает (пропадает и снова появляется). Подскажите пожалуйста как быть.

Скрытый <img> с этой картинкой делал не помогает...
Объявлять картинки с помощью js
s = new Image ()
s.src = "smile.png"
пытался. Тоже не помогает...

Rootpassword 25.03.2012 18:26

Ну, судя по всему, ты контент пересоздаешь, а надо добавлять/убирать разницу.
Код-то хоть, пример, ссылку покажи

Tums37 25.03.2012 18:29

Добавлять разницу пытался, работало чёто очень тормознуто, поэтому решил остановиться на этом варианте.
Но суть вопроса то не в этом. Должен же быть какой-нибудь способ избавиться от мигания.

Rootpassword 25.03.2012 18:35

И я вам его сказал. Когда контент пересоздаешь-он сначала удаляется, потом добавляется. Поэтому и мигание-визуально это именно так и выглядит.

Tums37 25.03.2012 18:37

Но ведь текст не мигает. Мигает только картинка. Я думаю это от того что она просто каждый раз загружается заново.

Rootpassword 25.03.2012 18:51

Грузится. Но из кэша. Можете для проверки setInterval-ом обновлять див, или добавлять контент в див без ajax, просто текст или набор картинок и увидеть-что мигает, а что нет.

Tums37 25.03.2012 19:03

Вот что странно: мигают смайлы только в хроме. Во всех остальных браузерах всё показывает отлично. И на следующий день после того как я только добавил возможность добавления смайлов всё стало работать даже и в хроме хотя я ничё и не менял). Но когда смотрю с других компов - опять мигает. Лажа какая то я разобраться в этом не могу вообще.

Aetae 25.03.2012 19:25

Лажа - это постоянное пересоздание всего контента.
Лажа - это постоянная загрузка аяксом всего конетента.
Лажа - это невозможность нормально скопировать текст из-за постоянной перерисовки.
Лажа - это не умение сделать нормальное добавление и обновление.
Вот это - лажа. А то о чём вы говорите - закономерный результат.

P.S. Я лично вас уже заочно ненавижу, ибо одно время по работе приходилось пользоваться "веб-приложением" "построенным" таким образом(кг\ам). Ненавижу.

Tums37 25.03.2012 19:30

Если это такой уж закономерный результат то объясните мне какого хрена сначала у меня показывало всё не так как я хотел(смайлы мигали), а через день при том что я ничё не менял вообще всё заработало замечательно но только на моём компе??

Раед 25.03.2012 19:46

Цитата:

Сообщение от Tums37
а через день заработало замечательно но только на моём компе??

похоже ваш комп понял, что ему уже никуда не деться от этого ужаса :)

Rootpassword 25.03.2012 19:52

Цитата:

Сообщение от Tums37
Если это такой уж закономерный результат то объясните мне какого хрена сначала у меня показывало всё не так как я хотел(смайлы мигали), а через день при том что я ничё не менял вообще всё заработало замечательно но только на моём компе??

Ну нагрузка упала, браузер успевал перерисовывать все ДО того, как вам отображался следующий экран, мигание просто визуально было незаметно.
Слушайте, вам решение проблемы или поспорить? Решение вам сказали. Спорить и доказывать, что ваш код нормален, а все браузеры написаны говнокодом-глупость. Пусть даже вы неведомыми путями обоснуете, что вы правы, и что все вокруг неправы. И что-у вас все заработает? Нет? Ну так делайте правильно.


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