你能告诉我如何实现块可见性跟踪吗?
我需要将活动类添加到相应块的 li 并将其从其余部分中删除。
$('.blocks .section').each(function(index, element) {
$(this).attr('data-block', index);
$('.navigation').append('<li class="scrollto" data-block="' + index + '">Блок ' + $(element).html() + '</li>')
});
$(document).on('click', '.navigation .scrollto', function() {
var block_id = $(this).attr('data-block'),
block = $('[data-block="' + block_id + '"]:not(.scrollto)');
if (block.offset() !== undefined) {
$('html, body').animate({
scrollTop: block.offset().top
}, 1000, 'swing', function() {
// здесь код если надо что-то делать после прокрутки
});
}
return false;
});
.section {
display: block;
height: 350px;
background: red;
margin-bottom: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="navigation">
</ul>
<div class="blocks">
<div class="section">
1
</div>
<div class="section">
2
</div>
<div class="section">
3
</div>
</div>
1 个回答