在jquery中使用scrollTo滚动h2元素
我想知道是否有人可以使用jquery的scrollTo插件帮助我解决这个滚动问题。我希望能够一键滚动一次一个h2元素...在我的脚本中,它一键滚动所有h2元素..请帮助我!
$(document).ready(function(){
$('#down').click(function(){
$("#container h2").each(function(i,h2){
$("#wrap").scrollTo(h2, 800, { axis:'y' });
});
});
$('#up').click(function(){
$("#container h2").reverse().each(function(i,h2){
$("#wrap").scrollTo(h2, 800, { axis:'y' });
});
});
jQuery.fn.reverse = function() {
return this.pushStack(this.get().reverse(), arguments);
};
});
I was wondering if anyone can help me with this scrolling problem using the scrollTo plugin for jquery.I want to be able to scroll one h2 element at a time with one click...in my script it scrolls across all h2 elements with one click..Help me please guys!!
$(document).ready(function(){
$('#down').click(function(){
$("#container h2").each(function(i,h2){
$("#wrap").scrollTo(h2, 800, { axis:'y' });
});
});
$('#up').click(function(){
$("#container h2").reverse().each(function(i,h2){
$("#wrap").scrollTo(h2, 800, { axis:'y' });
});
});
jQuery.fn.reverse = function() {
return this.pushStack(this.get().reverse(), arguments);
};
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,您正在调用
each()
,因此每次点击都会滚动到每个h2
。跟踪您传递的滚动到的元素,并且仅滚动到下一个元素,例如:更新:
您必须确保计数器不会增加或减少太多。我还对其进行了一些更改,以便不总是使用选择器来查找所有
h2
元素。获得一次就足够了。当您位于最后一个元素并单击down
时(或者当您位于第一个元素并单击up
时),计数器检查也应该可以解决问题:Well you are calling
each()
so you perform a scroll to eachh2
per click. Keep track which element you passed scrolled to and only scroll to the next one, e.g.:Update:
You have to make sure that the counter does not increase or decrease to much. I changed it also a little to not always use the selector to find all the
h2
elements. It is sufficient to get them once. The counter check should also fix the problem when you are at the last element and clickdown
(resp. when you are at the first element and clickup
):