如何在JQuery中滚动元素
How can I scroll through elements in JQuery?
粗略地说,我试图制作一系列按钮a、B、d,点击a可以滚动到B、点击B可以滚动到C等,点击d可以滚动到a。
我有一些按钮("标签"),它们都有类tag
和一个特定的标签,比如green
。我正在努力做到点击一个名为"绿色"的标签,就会进入下一个"绿色",除非它是最后一个,在这种情况下,它会重新开始。
以下是我一直在尝试的:
$(document).ready(function(){
counter = 0
$('.tag').click(function(){
counter = counter + 1;
var scrollTo = '.' + $(this).text();
scrollTo = $(scrollTo)
console.debug(scrollTo);
len = scrollTo.length
if ( counter > len-1 ) {
counter = 0;
scrollTo = $(scrollTo)[0];
} else {
scrollTo = $(scrollTo)[counter]
}
console.debug(scrollTo);
$('html, body').animate({ scrollTop: $(scrollTo).parent().offset().top });
});
});
这基本上是有效的,但前提是你必须从头开始。我正试图让它点击第二个"绿色"标签,它会把你带到第三个,等等
我知道我让这件事变得不必要的复杂。有没有更简单的方法?
您可以使用此代码查找当前元素的索引:
var counter = 0;
var scrollToSelector = '.' + $(this).text();
var scrollTo = $(scrollToSelector);
var self = this;
scrollTo.each(function(i, e){
if (e == self) {
counter = i + 1;
}
});
if (counter >= scrollTo.length) {
counter = 0;
}
相关文章:
- 使用webdriver io在可滚动元素内滚动
- 每次单击按钮时水平滚动元素
- 可滚动元素,如何在调整大小时更改顶部偏移量
- 如何使用javascript检测不可滚动元素中的滚动事件和方向
- 滚动元素的交叉溶解过渡
- 自动上下滚动元素
- 检测可滚动元素内的滚动位置
- 为滚动元素制作动画
- 如何自动滚动元素
- 使用鼠标滚轮滚动元素时传播的事件是什么
- 在鼠标滚动时使用 JQuery 水平滚动元素
- 在屏幕顶部附近滚动元素时触发的侦听器
- 如何在调整大小时更改滚动元素的行为?(HTML,CSS,JavaScript)
- 滚动元素上的Javascript触摸移动事件
- Poshy提示不随滚动元素移动
- 如何在JQuery中滚动元素
- jsPDFaddHTML获取滚动元素的全部内容
- 使用鼠标滚轮滚动页面时,避免滚动可滚动元素
- 滚动元素到视图中而不与页眉重叠
- 如何为自定义滚动元素添加限制