$('.course-header').click(function() { $("html, body").animate({scrollTop: 0}, "smooth"); return false; });单击.“course-header”时,页面将滚动到页面顶部,但我希望再次单击.“course-header”时,页面将滚动回上一个(原始)位置。我该怎么做才能实现这一点?我尝试过将.toggle()与.animate()组合使用,但没有成功。
$('.course-header').click(function() { $("html, body").animate({scrollTop: 0}, "smooth"); return false; });
bvjveswy1#
一种解决方案是声明一个变量来跟踪滚动位置,并使用它在单击时返回到上一个位置:
//declare variable to track scroll position let yscrollpos = 0; $('.course-header').click(function() { if(yscrollpos > 0) { $("html, body").animate({ scrollTop: yscrollpos }, "smooth"); yscrollpos = 0; } else { //get current scroll position yscrollpos = $(document).scrollTop(); $("html, body").animate({ scrollTop: 0 }, "smooth"); } return false; });
1条答案
按热度按时间bvjveswy1#
一种解决方案是声明一个变量来跟踪滚动位置,并使用它在单击时返回到上一个位置: