![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| numerovan |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 549 Регистрация: 1.12.2007 Репутация: нет Всего: 2 |
Здравствуйте светлые умы. Подскажите начинающему как поступить с данной ситуацией.
На страницу загружаются несколько div-ов (5 шт), каждый представляет из себя блок информации. div 1 - главная страница сайта div 2 - сервис div 3 - расценка div 4 - договор div 5 - контакты div 6 - о нас далее работает яваскрипт, главную страницу показывает, а остальные прячет. При клике по меню плавно появляется нужный див, а предыдущий растворяется. Вот функции которые это дело осуществляют. Допустим я перешёл на пункт О НАС, после обновляю страничку и мне показывается СТАРТОВАЯ СТРАНИЦА ... Не подскажите как сделать чтоб если пользователь находится на нужном ему пункте и при обновлении страницы тот раздел остался на экране, а не переходил снова на ночало. Я примерно знаю как это сделать , но честно уже не хочу париться с этим кодом, боюсь натворить что нибудь и потом переделывать. Поэтому обращаюсь за помощью. По поводу функций которые я написал ... это деревенский способ. Можно ли как-то этот код сокрасить ? Буду благодарен за помощь.
|
||||
|
|||||
| IDVsbruck |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
Единственно правильный ответ - хранить информацию не на странице.
Хотя можно и в кукисы совать (наверняка подскажут), но, к примеру, я сторонник серверного решения: изначально сервер отдает страницу и записывает в сессию нужные параметры: начальная страница, язык и т.д. При клике на другой блок отсылается запрос на получение этого куска (так лучше, хотя можно и хранить все на странице), а заодно меняется переменная в сессии. Теперь если рефрешнуть страницу или кликнуть на другой язык, страница обратится к серверу и получит текущую страницу, которую и отобразит. Кукисы могут помочь даже более "глобально" - запомнить последнюю страницу и заже при открытии нового окна отобразить последнюю. Но это не очень "кошерно" - мало ли какая инфа может быть на главной, да и не делают обычно так. |
|||
|
||||
| numerovan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 549 Регистрация: 1.12.2007 Репутация: нет Всего: 2 |
Скажите пожалуйста что плохого в этом методе ?
Единственное что я вижу так это при обновлении страницы перебрасывается на главную страницу ... а надо ли обновлять страницу ? помоему это не часто делают ... на что кликают , то и получают ... По поводу обновления и запоминания дива, то я знаю что это можно решать путём яваскриптов ... Так как сейчас всё больше и больше становится скоростных выделеных линий ... то почему бы и не загрузить допустим 200 кб инфы сразу ...? Читатель , я хочу у тебя спросить, у тебя интернет на dial-up-е или всё таких выделинка ? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 10 Всего: 260 |
после обновления надо показать тот же блок? в таком случае, можно кроме показывания/скрытия блоков менять часть адреса, называемая "хешем"(или "закладкой" - "#some_hash_part"), доступ к которой можно получить через window.location.hash. вот по клику меняй хеш, а при обновлении страницы(хеш сохраняется как часть адреса) - запускать javascript, который в соответствие с хешем будет подгружать тот или иной блок. в том случае, если надо и при переходе по ссылке отображать тот или иной блок - тот тут либо писать в cookie на стороне клиента, либо использовать механизм сессий на стороне сервера. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |