У меня есть функция 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, и то, что закомментировано, не должно влиять на сам код, но тег {# #} в моем коде необходим для того, чтобы весь скрипт на моей страницеработать (за исключением того, что он не работает с прокруткой при обновлении страницы).Я пытался провести исследование {# #}, но ничего полезного не нашел.