![]() |
|
Модераторы: Illuminaty |
![]()
|
|
| initmax |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 24.7.2009 Репутация: нет Всего: нет |
<li><a href="http://www.dynamicdrive.com/">Home</a></li>
<li id=”area”><a href="http://www.dynamicdrive.com/style/">CSS Codes</a></li> <li><a href="http://www.dynamicdrive.com/forums/">Forums</a></li> <li><a href="http://tools.dynamicdrive.com">Webmaster Tools</a></li> Есть такая задача, отмечать определённым стилем, текущий пункт меню позиционирования пользователя. Ранее это делал так: 1) При запросе требуемой страницы вычислял номер ссылки, например "Webmaster Tools" 2) При генерации меню ссылок в заданную позицию вставлял id=”area” как это можно организовать более корректно? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
||||
|
||||
| Guiness |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Могу предложить такой вариант:
на каждой странице елементу body присваиваете уникальный id (напр. 1 стр. id="str1", 2 стр. id="str2", 3 стр. id="str3"). Тоже самое делаете и с с каждым пунктом меню (напр. 1 п. id="first", 2 п. id="second", 3 п. id="third"). Пишите стиль где перечисляете через запятую пары id (#idстраницы #idпункта_меню):
Это сообщение отредактировал(а) Guiness - 18.8.2009, 09:28 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
Guiness, а чем принципиально отличается этот вариант от уже озвученного? распознавать что за ссылка и вставлять идентификатор всё равно придётся
|
|||
|
||||
| Guiness |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Тем, что в первом случае работает скрипт, а во втором нет, т.к. это пишется в html ручками - меньше затрат на формирование страницы.
Естественно есть случаи, когда этот способ не оптимальный, например если страницы и меню для них генерируются с 0. Но если есть постоянный набор страниц - вариант неплохой. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
что в таком случае мешает таким же способом "ручками" расписать идентификаторы в меню?
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
мне кажется, лучше тут использовать классы. но это так, придирка к семантике.
|
|||
|
||||
| initmax |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 24.7.2009 Репутация: нет Всего: нет |
Да дело как говорится в другом, а именно в нагрузке на трафик, допустим меню состоит из 10 пунктов, и при выборе каждого из пунктиков оно должно пересылаться по новой, с проинициализированным id. Поскольку все стремятся к разгрузке трафика и сервера, переходят на DIV вёрстку. Очевидно есть вариант помечать выбранный пункт меню "на месте" без повторной пересылки трафика и нагрузки на сервер.
|
|||
|
||||
| Guiness |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Я перемудрил
Имхо выгоднее делать с idшникам чем с js, т.к. траффик увеличится не на много, а js есть ресурсов дай боже как, особенно при работе с домом. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
т.е. ты хочешь сразу перегонять весь объём страниц? это называется закладки на javascript но по-моему полный бред. понятное дело когда оно используется в форме с несколкьими закладочками, а общий объём контента 10-20 кБ. совсем другое когда десять страниц, каждая по 100-200 кБ, получается при загрузке искомой страницы всё равно придётся грузить 1-2 МБ. если же говорится о дозагрузке контента без перезагрузки страницы - дык, это же аякс. тогда какая разница как меню нарисовано? оно просто будет перерисовываться средствами javascript |
|||
|
||||
| Guiness |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Мой способ хорош тем, что позволяет обойтись без js, при этом меню на каждой странице абсолютно одинаково, что позволяет его вставлять на сервере без каких-либо изменений, да и вообще выглядит помоему довольно элегантно, а затраты траффика мизерные, даже может меньше чем на загрузку js-скрипта для вставки idшников.
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
Guiness, при всём уважении. какие принципиальные отличия твоего способа от того что автор написал в первом посте?
он меняет идентификатор в меню, а ты в тэге body. плюсов не видно никаких, непонятно зачем ты размазываешь логику работы по всей структуре документа. есть даже такое понятие, как высокое сцепление кода. в твоём случае оно на нуле. любое вторжение в структуру промежуточных тэгов может запороть все стили. плюс нагромождение стилей в таблице, когда достаточно задать один идентификатор. но самое главное: непонятно, чем твой метод, отличается от метода предложенного автором, кроме явного минуса в реализации |
|||
|
||||
| Guiness |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Автор попросил альтернативный вариант - я предложил.
Главное отличие в том, что отсутствует код js поэтому страница выполняется значительно быстрее и нагрузка на траффик не больше, чем с js + если у браузера (ie) отключена обработка скриптов, то всеравно будет работать.
Не вижу как вторжение в структуру промежуточных тэгом может запороть все стили, у меня используется 2 idшника, если их имена не менять все будет работать по прежнему в любом случае. Нагромождения стилей тоже не вижу, т.к. используется только один стиль. P.S. а высокое сцепление кода - понятие из ООП и с CSS его соотнести очень сложно. |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 50 Всего: 315 |
Guiness, четвёртый раз говорю, что твой вариант ни капли не альтернативный
также перечитай посты автора, он нигде не упоминает js. у него всё реализовано на css, плюс динамическая генерация страниц сервером в реальной ситуации на странице не два idшника и не один стиль, а десятки, и целая колбаса вложенных структур
в данном случае, это понятие очень корректно |
|||
|
||||
| Guiness |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 18.8.2009 Репутация: нет Всего: нет |
Согласен - похоже я сам это придумал. Предлагаю закончить спор ввиду его непродуктивности. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |