所以使用jQuery我创建了一个div,你点击它然后它会将你带到页面的顶部,但是当你想要向下滚动时,它会一直把你扔到顶端。有没有人知道如何解决这个问题?
这是我的代码:
HTML :
<div id="div"></div>
CSS :
#div
{
background: url(slike/vrh.png) no-repeat;
width: 45px;
height: 45px;
position: fixed;
top: 93%;
right: 1%;
display: none;
cursor: pointer;
}
的jQuery :
$(window).scroll(function() {
if($(window).scrollTop() > 0) {
$("#naVrh").show();
$("#naVrh").click(function()
{
$("html, body").animate({scrollTop:0})
});
}
else
$("#naVrh").hide();
});
答案 0 :(得分:3)
如果您的div的ID为#div
,为什么要在javascript中定位#naVrh
?
此外,将某个函数绑定到事件是我们通常只尝试执行一次的事情,并且每当该事件发生时,该函数都将被执行。
您正在滚动事件中绑定click事件,以便每次滚动时都绑定click事件,或者换句话说,当用户触摸鼠标滚轮时,您将点击事件绑定几百次,这是一个出于显而易见的原因,这真的很糟糕。
尝试类似:
$(window).on('scroll', function() {
$("#mydiv").toggle($(window).scrollTop() > 0);
});
$("#mydiv").on('click', function() {
$("html, body").animate({scrollTop : 0}, 1000);
});
答案 1 :(得分:0)
http://www.electrictoolbox.com/jquery-scroll-top/ 请参阅那里以获取正确的语法
答案 2 :(得分:0)
$("#naVrh").unbind("click").click(myHandler);
我认为您多次致电该活动。检查你的代码。