我试图获取当前部分的ID。以下是我尝试的代码段:
$(document).on('scroll', function() {
alert($(this).$("section").attr('id'));
}
但没有找到结果。如何在滚动时获取某个部分的 id ?
答案 0 :(得分:1)
首先,您没有检测到代码中的当前部分(“当前”是指当前显示在屏幕上的部分)。要检测此部分,您应找到当前滚动位置并将其与部分位置进行比较。
$(document).scroll(function () {
$('section').each(function () {
if($(this).position().top <= $(document).scrollTop() && ($(this).position().top + $(this).outerHeight()) > $(document).scrollTop()) {
console.log($(this).attr('id'));
}
});
});
答案 1 :(得分:1)
如果this plugin按预期方式工作,那么您可以在滚动事件中执行此操作:
$('section').each(function() {
if($(this).visible())
console.log($(this).attr('id'));
});