Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как сделать так что бы после перезагрузки не менялся выбраный таб? (https://javascript.ru/forum/dom-window/52590-kak-sdelat-tak-chto-posle-perezagruzki-ne-menyalsya-vybranyjj-tab.html)

kursof 25.12.2014 15:24

Как сделать так что бы после перезагрузки не менялся выбраный таб?
 
Как сделать так что бы после перезагрузки не менялся выбраный таб?
вот ссылка это меню
я совсем не разбираюсь в яве


Вот код
<script type="text/javascript">
 
$(document).ready(function() {
 
 // Получить все от # tabMenu UL
 $('#tabMenu li').click(function(){
 
 //Выполнить действия, когда они не выбраны по умолчанию
 if (!$(this).hasClass('selected')) {
 
 //Удалить выбранный класс из всех LI
 $('#tabMenu li').removeClass('selected');
 
 //Назначить LI
 $(this).addClass('selected');
 
 //Скрыть все DIV в .BoxBody
 $('.boxBody div.parent').slideUp('1500');
 
 //Передвижение DIV в boxBody в соответствии с индексом навигации UL, такое расположение является очень важным.
 $('.boxBody div.parent:eq(' + $('#tabMenu > li').index(this) + ')').slideDown('1500');
 
 }
 }).mouseover(function() {
 
 $(this).addClass('mouseover');
 $(this).removeClass('mouseout');
 
 }).mouseout(function() {
 
 //Добавление и удаление класса
 $(this).addClass('mouseout');
 $(this).removeClass('mouseover');
 
 });
 
 //Mouseover с живой эффект для категории меню списка
 $('.boxBody #category li').mouseover(function() {
 
 //Изменение цвета фона и анимации при наведении курсора мыши
 $(this).css('backgroundColor','#888');
 $(this).children().animate({paddingLeft:"20px"}, {queue:false, duration:300});
 }).mouseout(function() {
 
 $(this).css('backgroundColor','');
 $(this).children().animate({paddingLeft:"0"}, {queue:false, duration:300});
 });
 
 //Mouseover эффект для сообщений, комментариев, и так далее
 $('.boxBody li').click(function(){
 window.location = $(this).find("a").attr("href");
 }).mouseover(function() {
 $(this).css('backgroundColor','#888');
 }).mouseout(function() {
 $(this).css('backgroundColor','');
 });
 
});
 
</script>

Спасибо!

krasovsky 26.12.2014 12:55

Что значит после перезагрузки? f5? Или переход по ссылке?
Ну допустим формировать ссылки вида /myurl/#tab-1 или /myurl/?tab=3 и по онлоаду сраницы устанавливать активным нужный таб, или хранить в куках нужный. Тока никто не далет - много секса, но если очень хочется то можно. Или в localStorage хранить, но не кроссбрузерно.
Если это будет переход по страницам, то на каждой странице можно можно в дата-атрибуте указать там и из него восстанавливать значение.
В общем много вариантов, вплоть до заставить переключиться силой мысли.

kursof 27.12.2014 13:07

Есть к примеру у меня два таба (Золото востока и Золото севера)
и в каждом этом табе одинаковое горизонт меню
но я хочу что бы при выборе (таба золото востока ) после перезагрузки страницы он так и оставался

Deff 27.12.2014 16:35

kursof,
При выборе вкладки - записывай номер таба(или id) в кук, по загрузке скрипта - считываем кук - если есть - открываем нужный - нет - первая вкладка

2chan 28.12.2014 02:04

Может я и не гений в JavaScript, но для настроек и всего подобного на своём сайте я использую localSlotage.

Ставь функцию на beforeunload-событие, которая сохранит в localStorage (или куки - как тебе удобно) информацию (ID, или какой-нибудь data-атрибут) о табе. А по загрузке (или по DOMContentLoaded, чтобы красивее выглядело) просто берёшь оттуда информацию и переключаешь таб так-же, как и обычному клику.

Если вообще ничего не понял - могу попробовать запилить скрипт для примера.

kursof 29.12.2014 00:12

ваще не понял)):no:
скинь будь добр))


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