Сделать классы с нужными стилями.
Далее по клику на элементе циклом пробежать по DOM, удалив классы у потомков нужного блока, после чего добавив нужный класс целевому объекту.
MaxKorz, вы не правы. Да, выставляют, но при динамическом добавлении он всегда true.
Не могу привести навскидку ссылку на источники информации, но поверьте, я об этом читал.
Подводные камни есть всегда, но направление верное с некоторым уточнением. Лучше иметь единый файл со статусами, думаю, сократит количество обращений к серверу.
А в папках хранить только личные данные, в т.ч. ЛС и что там еще будет (прикрепляемые файлы, etc.)
Архитектура, имхо, должна быть такая - запрос от клиента в индексный файл, проверка и вывод статусов зарегистрированных пользователей, вывод последних общих постов. Далее обновлять эту инфу по таймеру.
а ему и не нужно, у вас логическое OR стоит, то есть, если первая проверка и вернула ложь, то вторая может вернуть истину и условие будет считаться выполненным.
Алексей Зайцев, К сожалению, при удалении нужно переписывать весь файл. Поэтому лучше сделать актуальный файл, в который идет только добавление, а потом уже по крону выкидывать из него ненужную информацию в архивные файлы.
Информацию о статусе юзеров я бы тоже писал в отдельном файле, поскольку обращения к нему будут реже, чем к файлу с контентом чата.
Да, но в старых броузерах нет async, а при динамическом добавлении всегда по умолчанию скрипт грузится асинхронно. Сейчас это уже не особо актуально, но раньше значение имело.
Подгрузка скриптов в конце верстки не всегда удобна. При этом, если какой-то скрипт динамически формирует часть страницы, то подвисание будет заметно.
Фреймы - это удобно. И не требует никаких костылей. Да, это устаревший морально принцип верстки, но вполне рабочий.
На Юкозе тоже работать будет, просто нужно прямо в шаблон вставить разбивку на фреймы. Короче, вот вам рабочий пример, а там уже смотрите...
Да, уже заметил. Так, тогда зачем вам айфрейм?
Сделайте обычные фреймы, меню - в один, контент - в другой. А в ссылках указывайте target. <a href="#Structure5" target="iframe">ТЫЦ</a>
Если речь именно о чате, то можно хранить в текущем файле лишь записи за актуальный промежуток времени, а остальные архивировать. Это предотвратит разрастание файла, к которому будет постоянно обращаться скрипт чата. Ессно, при записи файл нужно обязательно блокировать, чтобы исключить одновременного его изменения. Более того, вовсе не обязательно его переписывать полностью, можно добавлять новые записи в его конец - см. возможности file_put_contents().
То есть, на РНР вполне можно реализовать сносное решение. Но лучше всего, насколько я знаю, чаты себя показывают на Node.js
Тогда в принципе не верная конструкция.
Как обрабатывается клик по ссылке? Обработчик на каждую? Делегирование?
А вот внутри обработчика уже и надо менять src айфрейма.
Но все это не отменяет предыдущего замечания.