прокрутка django jquery не активируется - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть функция jquery, которая работает, когда я запускаю ее как событие, но не работает, когда я пытаюсь запустить ее при перезагрузке документа.

Это мой элемент для прокрутки окнакогда страница обновляется.

{% block content %}
  {% for poll in polls %}

    <button class="test" id="{{ poll.id }}">{{ poll.id }}</button>

  {% endfor %}
{% endblock %}

Этот код работает нормально, он прикреплен к событию щелчка.

{% block jquery %}
{#  <script>#}

testEvent();

  // sending the poll id to report after the flag is clicked on
  function testEvent() {
    $(".test").click(function(event){
      event.preventDefault();

      var scrolltoid = document.getElementById('54')
      scrolltoid.scrollIntoView(true);
      window.scrollBy(0, -50);

    });
  };

{#  </script>#}
{% endblock %}

Мне нужен код для работы при обновлении страницы.Однако, когда тот же код вставляется в функцию готовности документа для прокрутки окна до определенного элемента при обновлении страницы, он не работает.

{% block jquery %}
{#  <script>#}


$(document).ready(function(){
    var scrolltoid = document.getElementById('54')
    scrolltoid.scrollIntoView(false);
})


{#  </script>#}
{% endblock %}

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

{% block jquery %}
{#  <script>#}
  $(document).ready(function () {
      // Handler for .ready() called.
      $('html, body').animate({
          scrollTop: $('#54').offset().top
      }, 'slow');
  });
{#  </script>#}
{% endblock %}

Этот код был перенесенпредыдущим программистом, и я запутался в использовании {# #}.Я думаю, что причина, по которой мой код не работает, может быть из-за включенного {# #}.Я очень озадачен его использованием: если я удалю комментарий, весь jquery / javascript на странице перестанет работать, поэтому я не смог его удалить.Но это меня смущает, потому что {# #} предназначен для комментирования кода на django, и то, что закомментировано, не должно влиять на сам код, но тег {# #} в моем коде необходим для того, чтобы весь скрипт на моей страницеработать (за исключением того, что он не работает с прокруткой при обновлении страницы).Я пытался провести исследование {# #}, но ничего полезного не нашел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...