2013-11-11 2 views
0

Я хочу связать страницу, например (domain.com/page#loadThickBox1), и запустить функцию jquery, которая по умолчанию загружает толщину. Какой код мне нужно выполнить для выполнения этого?Использование фрагмента URL, чтобы определить, какая функция jquery запущена.

Например, это может быть несколько ссылок:

domain.com/page#loadThickBox1

domain.com/page#loadThickBox2

domain.com/page#loadThickBox3

НЕ нравится:

domain.com/page/loadThickBox1

domain.com/page/loadThickBox2

domain.com/page/loadThickBox3

+0

Что вы пробовали? Что случилось с другим вопросом (точно так же), что вы спросили? – putvande

+0

В настоящее время я открываю толстые ящики через функцию onclick с помощью кнопки. Я хочу (кроме того) открыть их по умолчанию при загрузке страницы. Я закрыл свой последний вопрос, потому что люди думали, что я пытаюсь сделать что-то с pushstate, а это не так. – Citizen

+0

1) Проверьте, имеет ли место в окне хэш. 2) вызвать ThickBox для элемента, идентифицированного хешем расположения окна. 3) сделано. – Ohgodwhy

ответ

1

Использование location.hash

$(function() { 
    switch(location.hash.replace('#','')){ 
    case 'loadThickBox1': 
     //do something! 
     loadThickBox1(); 
     break; 
    case 'loadThickBox2': 
     //do something! 
     loadThickBox2(); 
     break; 
    case 'loadThickBox3': 
     //do something! 
     loadThickBox3(); 
     break; 
    } 
}); 
0
location.href.split('#')[1] 

Это поможет вам слова после #. Загрузите соответствующее поле с учетом этого значения.

0

Вы можете прослушивать событие hashchange, проанализировать хэш и выполнить свою функцию соответственно.

DEMO

function handleHash(hash) { 
    var hash = hash.replace('#', ''); 

    if (!hash) return; 

    console.log('Loading thick box ' + hash.slice(-1)); 
} 

window.addEventListener('hashchange', function() { 
    handleHash(location.hash); 
}); 

//handle initial hash when page loads 
handleHash(location.hash); 
Смежные вопросы