2015-10-28 2 views
0

Я пытаюсь прокрутить до безымянного хэша, например. Раздел комментариев, но не повезлоПрокрутите до хеша без имени

$(document).ready(function() { 
    console.log('ANC: ' + location.hash); 

    setTimeout(function() { 
    $('html,body').animate({ 
     scrollTop: window.location.hash.offset().top 
    }, 'slow'); 
    }, 200); 
}); 

Открытие ссылки

http://example.com/foo/bar.html#1234567890 

не работает с прокруткой. Я всегда получаю

Uncaught TypeError: window.location.hash.offset is not a function

location.href=location.hash; 

работает просто отлично, но не скроллинг, который слишком плохо.

Любые советы?

ответ

1

hash всего лишь строка. Элементы могут иметь смещения, строки - нет.

Try:

$('html,body').animate({ 
    scrollTop: $(window.location.hash).offset().top 
}, 'slow'); 
+0

Выглядит прямо буит не работает :('неперехваченным TypeError: Не удается прочитать свойство 'сверху' из undefined' –

+0

работает только если' hash' определяет фактический элемент, с помощью 'id' Если «hash» - это просто что-то, используемое скриптами сайта для поиска элемента * actual *, это не сработает. Сначала вам нужно преобразовать хэш в фактический идентификатор элемента. –

Смежные вопросы