Я пытаюсь загрузить свою функцию scrolltoTop() в dom ready, но событие не срабатывает. Не могли бы вы помочь мне?
Мой код здесь:
<button class = "scroll-top">
<i class = "fa fa-angle-up" aria-hidden = "true"></i>
</button>
:
"use strict";
function scrollToTop () {
if ($('.scroll-top').length) {
$(window).on('scroll', function (){
if ($(this).scrollTop() > 200) {
$('.scroll-top').fadeIn();
}
else {
$('.scroll-top').fadeOut();
}
});
$('.scroll-top').on('click', function() {
$('html, body').animate({scrollTop : 0},1500);
return false;
});
}
}
Вот моя готовая функция DOM:
jQuery(document).on('ready', function() {
(function ($) {
scrollToTop ();
})(jQuery);
});
Использование версии Jquery: jquery-3.4.1.min.js
scrollToTop() или scrollTop()?
является ли srcollToTop() пользовательской функцией?
@randomSoul Я обновил свой код, не могли бы вы проверить?
@dwpu Я обновил свой код, не могли бы вы проверить?
@DevsiOdedra Я обновил свой код, не могли бы вы проверить?
ваша функция scrollToTop находится в отдельном файле? Если это так, попробуйте поставить jQuery ready после того места, где файл включен.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Смотрите это демо. когда вы запускаете скрипт, он прокручивается вверх
jQuery(document).on('ready', function() {
$(window).scrollTop(0);
});<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style = "border:1px solid black;width:100px;height:150px;overflow:auto">
This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text. This is some text.</div><br>Из jquery документация, из версии 3.0
$( document ).ready(function() {
// Handler for .ready() called.
});
был заменен на
$(function() {
// Handler for .ready() called.
});
Возможно, попробуйте:
$(function() {
window.scrollTo(0,0);
});
использовать $(document).ready(function() {}
"use strict";
function scrollToTop() {
console.info('Calling');
if ($('.scroll-top').length) {
$(window).on('scroll', function() {
console.info($(this).scrollTop());
if ($(this).scrollTop() > 200) {
$('.scroll-top').fadeIn();
} else {
$('.scroll-top').fadeOut();
}
});
$('.scroll-top').on('click', function() {
$('html, body').animate({
scrollTop: 0
}, 1500);
return false;
});
}
}
$(document).ready(function() {
scrollToTop();
})<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class = "scroll-top">
<i class = "fa fa-angle-up" aria-hidden = "true"></i>
</button>
пройти как
$(window).scrollTop(0)