我想在调用另一个函数时停止执行某个函数。假设我在页面底部有一个按钮,在滚动时会出现一个固定位置的按钮,在底部的按钮可见时又会消失。单击时,两个按钮都滚动到页面顶部。 问题是当我单击底部的按钮时,页面将向上滚动,并且由于这个原因,滚动按钮在短时间内可见。有没有一种方法可以阻止函数在这段时间内执行,从而不再将其设置为可见? 这是Jquery代码:
var btn = $('#ButtonScroll'); //button that is visible when scrolling
var btn2 = $('#ButtonBottom'); //button at the end of the page
$(window).scroll(function() {
if ($(window).scrollTop() > 1000) {
btn.addClass('show');
} else {
btn.removeClass('show');
}
});
btn.on('click', function(e) {
e.preventDefault();
$('html, body').animate({scrollTop:0}, '300');
});
btn2.on('click', function(e) {
e.preventDefault();
$('html, body').animate({scrollTop:0}, '300');
setTimeout(yourFunction, 3000);
});
$(window).scroll(function() {
var top_of_element = $("#ButtonBottom").offset().top;
var bottom_of_element = $("#ButtonBottom").offset().top + $("#ButtonBottom").outerHeight();
var bottom_of_screen = $(window).scrollTop() + $(window).innerHeight();
var top_of_screen = $(window).scrollTop();
if ((bottom_of_screen > top_of_element) && (top_of_screen < bottom_of_element)){
btn.removeClass('show');
}
});´