我有一个按钮可以单击并将页面固定在顶部滚动到顶部。最初,按钮会显示在正确的位置,但是几次滚动后会发生奇怪的行为: 我们可以在必须保留的确切位置看到按钮,但单击操作无效。当我用开发人员检查器调试代码时,我看到这个按钮处于不同的位置。像个鬼。我认为搜索栏出现时会触发此行为。 在代码中,我向下滚动后将按钮添加到DOM中,并在页面转到顶部时删除按钮。 我分享了一个视频以帮助理解我的问题。 video
var visible = false;
// Scroll detection in px
$(window).scroll(function(){
var scrollTo = $(window).scrollTop();
positionScroll = scrollTo;
var goToTop = function(){
var body = $('html, body');
body.stop().animate({scrollTop:0}, '1000');
}
if(scrollTo > 400){
if(visible === false){
if($('.wrap-arrows-top').hasClass('wrap-arrows-top') === false){
var htmlArrowsTOP = "<div class='wrap-arrows-top '><div class='full-height full-width display-flex justify-content-center align-items-center'><div class='fas fa-arrow-up fa-1x'></div></div></div>";
$(htmlArrowsTOP).appendTo('body');
}
$('.wrap-arrows-top').addClass('showScrollTop');
visible = true;
}
$('.wrap-arrows-top').on('click', goToTop);
}else{
if(visible === true){
$('.wrap-arrows-top').remove();
$('.wrap-arrows-top').removeClass('showScrollTop');
visible = false;
}
}