Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.12.2014, 13:23
Интересующийся
Отправить личное сообщение для kkolorid Посмотреть профиль Найти все сообщения от kkolorid
 
Регистрация: 02.12.2014
Сообщений: 19

Сделать вкладку активной при загрузке страницы
Добрый день. Есть страница: sspromo.ru/ticket.php ,тело которой сделано из вкладок, которые открывают части стр... При первом попадании на страницу открывается первая вкладка.

Мне нужно сделать что бы ссылка в верхней основной навигации "О нас" вела на страницу ticket.php, при этом открывалась вкладка CONTACT.

Ссылки у вкладах по типу #tab-1. Делаю такие ссылки в каком то другом месте - ни чего не работает. Возможно будет какое то решение с использованием GET ссылки. Но не могу найти место, где выставить код для вкладки, открывающеюся по умолчанию. Заранее спасибо за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 02.12.2014, 13:30
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var hash = window.location.hash;
if(hash.indexOf('tab') > 0) {
    var tabID = /tab-(\d+)/.exec(hash).pop();
    document.querySelectorAll('#qcTabNav a')[tabID - 1].click();
}


А если так?
Ответить с цитированием
  #3 (permalink)  
Старый 02.12.2014, 14:36
Интересующийся
Отправить личное сообщение для kkolorid Посмотреть профиль Найти все сообщения от kkolorid
 
Регистрация: 02.12.2014
Сообщений: 19

Сообщение от Ruslan_xDD Посмотреть сообщение
var hash = window.location.hash;
if(hash.indexOf('tab') > 0) {
    var tabID = /tab-(\d+)/.exec(hash).pop();
    document.querySelectorAll('#qcTabNav a')[tabID - 1].click();
}


А если так?
А куда сувать, простите? Просто скриптом на страницу? А потом что? Ссылка из навигации должна заработать? Или что?

Просто скрипт на стр поставил. Не пашет. Все так же думает, что это обычный якорь. И пишет его в адресную строку...
Ответить с цитированием
  #4 (permalink)  
Старый 02.12.2014, 14:38
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

kkolorid, поставьте в конец страницы. Или оберните в window.addEventListener('load', function() { код });

Сообщение от kkolorid
А потом что? Ссылка из навигации должна заработать? Или что?
Верно. Ссылки типа:
http://sspromo.ru/ticket.php#tab-1
http://sspromo.ru/ticket.php#tab-2
http://sspromo.ru/ticket.php#tab-3
Ответить с цитированием
  #5 (permalink)  
Старый 02.12.2014, 14:47
Интересующийся
Отправить личное сообщение для kkolorid Посмотреть профиль Найти все сообщения от kkolorid
 
Регистрация: 02.12.2014
Сообщений: 19

Сообщение от Ruslan_xDD Посмотреть сообщение
kkolorid, поставьте в конец страницы. Или оберните в window.addEventListener('load', function() { код });


Верно. Ссылки типа:
http://sspromo.ru/ticket.php#tab-1
http://sspromo.ru/ticket.php#tab-2
http://sspromo.ru/ticket.php#tab-3
Обернул в window.addEventListener и все получилось. При переходе с других страниц действительно открывается нужная вкладка. Но если я уже нахожусь на странице tickets.php - не работает. Только если обновить страницу с якорем в адресе.
Ответить с цитированием
  #6 (permalink)  
Старый 02.12.2014, 14:52
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Попробуйте у себя стереть три последних строчки.

// --------- 5. TESTIMONIAL ----------  //

$('#qcTestimonial p').html($('#qcTestimonialList li a.active').attr('data-content'));
$('#qcTestimonial cite').html('- ' + $('#qcTestimonialList li a.active').attr('data-cite'));
$('#qcTestimonialList li a').hover(function() {
	$('#qcTestimonialList li a.active').removeAttr('class');
	$(this).addClass('active');
	$('#qcTestimonial p').html($(this).attr('data-content'));
	$('#qcTestimonial cite').html('- ' + $(this).attr('data-cite'));
});
$('#qcTestimonialList li a').click(function() {
	return false;
});
Ответить с цитированием
  #7 (permalink)  
Старый 02.12.2014, 14:57
Интересующийся
Отправить личное сообщение для kkolorid Посмотреть профиль Найти все сообщения от kkolorid
 
Регистрация: 02.12.2014
Сообщений: 19

Сообщение от Ruslan_xDD Посмотреть сообщение
Попробуйте у себя стереть три последних строчки.

// --------- 5. TESTIMONIAL ----------  //

$('#qcTestimonial p').html($('#qcTestimonialList li a.active').attr('data-content'));
$('#qcTestimonial cite').html('- ' + $('#qcTestimonialList li a.active').attr('data-cite'));
$('#qcTestimonialList li a').hover(function() {
	$('#qcTestimonialList li a.active').removeAttr('class');
	$(this).addClass('active');
	$('#qcTestimonial p').html($(this).attr('data-content'));
	$('#qcTestimonial cite').html('- ' + $(this).attr('data-cite'));
});
$('#qcTestimonialList li a').click(function() {
	return false;
});
Стер. Все так же :/
Ответить с цитированием
  #8 (permalink)  
Старый 02.12.2014, 15:00
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Ну тогда добавь в мой код:

$('#qcTabNav').on('click', 'a', function() {
    window.location.hash = this.hash;
});
Ответить с цитированием
  #9 (permalink)  
Старый 02.12.2014, 15:05
Интересующийся
Отправить личное сообщение для kkolorid Посмотреть профиль Найти все сообщения от kkolorid
 
Регистрация: 02.12.2014
Сообщений: 19

Сообщение от Ruslan_xDD Посмотреть сообщение
Ну тогда добавь в мой код:

$('#qcTabNav').on('click', 'a', function() {
    window.location.hash = this.hash;
});
А куда именно? Под условие?

window.addEventListener('load', function() {
var hash = window.location.hash;

if(hash.indexOf('tab') > 0) {

    var tabID = /tab-(\d+)/.exec(hash).pop();

    document.querySelectorAll('#qcTabNav a')[tabID - 1].click();
	
	$('#qcTabNav').on('click', 'a', function() {
    window.location.hash = this.hash;
});

}


});


Вот так не работает... Может сделать просто что бы стр обновлялась?
Ответить с цитированием
  #10 (permalink)  
Старый 02.12.2014, 15:09
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

$(function() {
    var hash = window.location.hash;
    if(hash.indexOf('tab') > 0) {
        var tabID = /tab-(\d+)/.exec(hash).pop();
        document.querySelectorAll('#qcTabNav a')[tabID - 1].click();
    }
    $('#qcTabNav').on('click', 'a', function() {
        window.location.hash = this.hash;
    });
});


Вот всё целиком.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение функции при загрузке страницы casper-man jQuery 1 09.08.2014 23:42
Действия при загрузке страницы adamenko.artem ExtJS 5 30.07.2013 13:59
Скрипт случайного выбора при загрузке страницы dzhigora Общие вопросы Javascript 6 30.09.2012 00:44
Вызов вункции при изменении экрана и при загрузке страницы frost18 Общие вопросы Javascript 2 31.08.2011 22:28
Срабатывание скрипта при загрузке страницы bormax Общие вопросы Javascript 3 03.04.2008 09:57