ОК, поэтому этот ответ очень специфичен для вашей проблемы.
Причина, по которой ни одно из других решений не работало, состоит в том, что ваши элементы div
, которые соответствуют привязке, скрываются при загрузке страницы.
Чтобы доказать это, нажмите на ссылку на главной странице и увидите, что не работает. Затем измените хэш с #whatever
на #bgaboutbody
, и вы увидите, что он работает правильно.
Итак, использование чего-то подобного заставит вас работать. По сути, если есть хеш, он будет оживлен до нужного места. Поместите это в блок скрипта в самом низу вашей страницы (прямо над тегом </body>
)
window.setTimeout(function(){
if(window.location.hash){
var $target = $(window.location.hash).closest("#bgaboutbody");
if($target.length)
$('html, body').animate({scrollTop: $target.offset().top}, 1000);
}
}, 100);
Научитесь использовать запасные варианты:
Всегда лучше убедиться, что ваш контент будет загружаться без JavaScript на таком сайте продаж, как этот. (В веб-приложении я чувствую, что это другое обсуждение). Я бы порекомендовал использовать решение, которое я дал вам этот вопрос , где вы добавляете класс js
к элементу html
в <head>
страницы. Затем настройте свой CSS следующим образом:
.js #contact, .js #about, etc { display:none }
Так что он будет скрыт, только если присутствует JS. Кроме того, поскольку это решение также использует JavaScript, важно, чтобы они были видны, если JS отключен, поэтому он все еще работает.