Почему мой JavaScript не вызывается при загрузке?

0

У меня установлен 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>
  • 1
    есть ли другие операторы window.onload=function(){} на странице
  • 0
    не в моем коде, но это в Joomla (расширение Jumi), если я Ctrl-U, я вижу только мой (это может выглядеть по-другому?)
Показать ещё 10 комментариев

1 ответ

2
Лучший ответ

ОК.

Я не могу понять, почему функция загрузки окна не срабатывает.

Вместо этого попробуйте обработчик документа

$(function(){
     scrollToLocation();
})

Что касается события hashchange, рассмотрим этот плагин

  • 1
    Для событий hashchange я просто добавил это $ (window) .on ('hashchange', function () {.. work ..});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню