У меня установлен onload на функцию, которая вызывает мою пользовательскую функцию
в функции мое окно должно прокручиваться до местоположения, указанного через значение после хеша - однако я не вижу, чтобы моя консоль записывала мой отладочный текст и не двигалась страница - что я делаю неправильно?
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script type="text/javascript">
window.onload = function()
{
scrollToLocation();
};
function scrollToLocation()
{
console.log("hi");
var x = location.hash;
console.log(x);
$('html, body').animate(
{
scrollTop: x
}, 500);
var d = document.createElement("div");
d.style.height = "101%";
d.style.overflow = "hidden";
document.body.appendChild(d);
setTimeout(function ()
{
d.parentNode.removeChild(d);
}, 10);
return false;
}
</script>
ОК.
Я не могу понять, почему функция загрузки окна не срабатывает.
Вместо этого попробуйте обработчик документа
$(function(){
scrollToLocation();
})
Что касается события hashchange, рассмотрим этот плагин
window.onload=function(){}
на странице