jQuery,动画滚动到顶部,在它不断把我扔到顶部之后

jQuery,动画滚动到顶部,在它不断把我扔到顶部之后,jquery,Jquery,所以我用jQuery做了一个div,你点击它,它会把你带到页面的顶部,但是当你想向下滚动时,它会一直把你带到顶部。有人知道如何解决这个问题吗 这是我的密码: HTML: <div id="div"></div> #div { background: url(slike/vrh.png) no-repeat; width: 45px; height: 45px; position: fixed; top: 93%; rig

所以我用jQuery做了一个div,你点击它,它会把你带到页面的顶部,但是当你想向下滚动时,它会一直把你带到顶部。有人知道如何解决这个问题吗

这是我的密码:

HTML

<div id="div"></div>
#div
{

    background: url(slike/vrh.png) no-repeat;
    width: 45px;
    height: 45px;
    position: fixed;
    top: 93%;
    right: 1%;
    display: none;
    cursor: pointer;
}
$(window).scroll(function()  {

  if($(window).scrollTop() > 0)  {

      $("#naVrh").show();
      $("#naVrh").click(function()
      {
           $("html, body").animate({scrollTop:0})
      });

  } 
  else
       $("#naVrh").hide();
});
jQuery

<div id="div"></div>
#div
{

    background: url(slike/vrh.png) no-repeat;
    width: 45px;
    height: 45px;
    position: fixed;
    top: 93%;
    right: 1%;
    display: none;
    cursor: pointer;
}
$(window).scroll(function()  {

  if($(window).scrollTop() > 0)  {

      $("#naVrh").show();
      $("#naVrh").click(function()
      {
           $("html, body").animate({scrollTop:0})
      });

  } 
  else
       $("#naVrh").hide();
});
有关正确的语法,请参见此处

$("#naVrh").unbind("click").click(myHandler);

我想你多次给这个活动打电话。检查您的代码。

如果您的div的ID为
#div
,为什么要在javascript中定位
#naVrh

此外,将某个函数绑定到事件是我们通常只尝试执行一次的操作,并且每当该事件发生时,该函数都将被执行

您将在scroll事件中绑定click事件,因此每次发生滚动时,您都会绑定click事件,或者换句话说,当用户触摸鼠标滚轮时,您会绑定click事件数百次,这是一个非常糟糕的主意,原因显而易见

尝试以下方法:

$(window).on('scroll', function() {
    $("#mydiv").toggle($(window).scrollTop() > 0);
});

$("#mydiv").on('click', function() {
    $("html, body").animate({scrollTop : 0}, 1000);
});​

第6行的.click处理程序不应嵌套在主滚动函数中。如果你把它带到函数之外,它就会工作