Javascript 单击'';“返回顶部”;按钮(滚动顶部)多次发出
我注意到,如果我多次单击“返回顶部”按钮,然后你尝试向下滚动,它会导致窗口不断返回顶部。你知道如何阻止这种情况发生吗 我的代码是:Javascript 单击'';“返回顶部”;按钮(滚动顶部)多次发出,javascript,jquery,click,scrolltop,Javascript,Jquery,Click,Scrolltop,我注意到,如果我多次单击“返回顶部”按钮,然后你尝试向下滚动,它会导致窗口不断返回顶部。你知道如何阻止这种情况发生吗 我的代码是: <a href="#" class="scrollup">Scroll</a> <script type="text/javascript"> $(document).ready(function(){ $(window).scroll(function(){ $("html, body").
<a href="#" class="scrollup">Scroll</a>
<script type="text/javascript">
$(document).ready(function(){
$(window).scroll(function(){
$("html, body").stop();
if ($(this).scrollTop() > 100) {
$('.scrollup').fadeIn();
} else {
$('.scrollup').fadeOut();
}
});
$.clicked = false;
if ($.clicked == false){
$('.scrollup').click(function(){
$.clicked = true;
$("html, body").stop().animate({ scrollTop: 0 }, 600);
return false;
});
}
});
</script>
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
$(“html,body”).stop();
如果($(this).scrollTop()>100){
$('.scrollup').fadeIn();
}否则{
$('.scrollup').fadeOut();
}
});
$.clicked=false;
如果($.clicked==false){
$('.scrollup')。单击(函数(){
$.clicked=true;
$(“html,body”).stop().animate({scrollTop:0},600);
返回false;
});
}
});
正如您所说,您多次单击,事件将被多次触发,因此您需要停止动画功能
因此,请按如下所示编辑您的代码
$("html, body").stop().animate(
--------------^^^^^^^^----
或编辑滚动的代码
$(window).scroll(function(){
$("html, body").stop();
这应该行得通。我也有类似的问题 我只是通过简单的检查解决了这个问题:
$('.scrollup').click(function(){
if ($(document).scrollTop() != 0) {
$("html, body").animate({ scrollTop: 0 }, 600);
}
return false;
});
如前所述,问题是点击事件多次触发。因为处理事件本身对我来说不起作用,我只是尝试检查当前滚动值/位置是否已经在我想要的位置,等等,瞧!奇怪的行为消失了!:)Hello@DipeshParmar谢谢你的帮助!第一个代码可以完成这项工作。但是如果我在插入第二个代码,当我单击按钮时,它使滚动仅向上移动一个像素。但是如果使用没有第二个代码的代码,您共享它仍然会产生一些问题…***您可以看到我的原始代码,我已按照您的建议进行了编辑***@需要帮助,抱歉我的错误,我将
也将替换为或您可以在其中之一中执行此操作对。
$('.scrollup').click(function(){
if ($(document).scrollTop() != 0) {
$("html, body").animate({ scrollTop: 0 }, 600);
}
return false;
});