【发布时间】:2020-01-10 06:50:24
【问题描述】:
$(document).ready(function() {
$(".myClass").click(function () {
$(".myClass", $(this)).first().scrollIntoView({behavior: "smooth",block: "start"});
});
});
.myClass {
cursor: pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class=myClass>I click on this div
</div>
<div class=otherClass>Some random text
</div>
<div>
<div class=otherClass>Some random text
</div>
<div>
<div class=myClass>I want to scroll to this div
</div>
这是我的问题,我有这种模式在我的页面中重复多次。具有“otherClass”类的 div 以可变数量动态生成。
<div>
<div class=myClass>
</div>
</div>
<div>
<div class=otherClass>
</div>
</div>
<div>
<div class=otherClass>
</div>
</div>
<div>
<div class=myClass>
</div>
</div>
我的目标是通过单击“myClass”div 将窗口(使用scrollIntoView())向下滚动到具有相同类的下一个 div。
我在每个“myClass”div 上添加了一个点击事件,但我无法选择下一个。我试图在我的选择器$(".myClass", $(this)) 中添加一个上下文,以便仅在单击的 div 之后进行搜索,但它不起作用(总是返回当前的 div?)。
我也尝试使用next()“移动”到下一个 div,但我正在努力解决它们之间存在未知数量的“otherClass”div 的事实。
我做错了什么?
对不起,如果我的解释不清楚,感谢您的帮助。
【问题讨论】:
标签: javascript jquery jquery-selectors