Для этого вам не нужен jQuery, вы можете получить / установить имя привязки, используя location.hash
.Если вы добавите его в функцию jQuery ready, вы можете выполнить какое-либо действие, если для него установлено определенное значение:
$(function(){
// Remove the # from the hash, as different browsers may or may not include it
var hash = location.hash.replace('#','');
if(hash != ''){
// Show the hash if it's set
alert(hash);
// Clear the hash in the URL
location.hash = '';
}
});
Обратите внимание, что при удалении хэша конечный #
может оставаться в адресной строке.,Если вы хотите реагировать на живые изменения якоря, вы можете привязать обратный вызов к событию hashchange
:
$(document).bind("hashchange", function(){
// Anchor has changed.
});
Если вы хотите, чтобы при очистке якоря ваша страница не поднималась наверх, выможет связать событие hashchange, чтобы вернуться к предыдущей позиции прокрутки.Проверьте этот пример: http://jsfiddle.net/yVf7V/
var lastPos = 0;
$('#on').click(function(){
location.hash = 'blah';
});
$('#off').click(function(){
lastPos = $(window).scrollTop();
location.hash = '';
});
$(window).bind('hashchange',function(event){
var hash = location.hash.replace('#','');
if(hash == '') $(window).scrollTop(lastPos);
alert(hash);
});