Перейти к пункту eq в списке
У меня есть этот скрипт:
$('.blog-list li').click(function(e) {
e.preventDefault();
$('body').scrollTo('.section:eq(1)', 800);
});
Когда вы нажимаете на элемент списка, вы идете сейчас section:eq(1)
, Я хочу изменить этот скрипт. Когда вы нажимаете на первый элемент списка, вы переходите к первому разделу.
При нажатии второй пункт списка. Вы идете во второй раздел и т.д. Как я могу это сделать?
4 ответа
Используйте этот код:
$('.blog-list li').each(function (i) {
$(this).click(function () {
$('body').scrollTo('.section:eq(' + i + ')', 800);
});
});
$('.blog-list li').click(function(e) {
e.preventDefault();
$('body').scrollTo('.section:eq(' + $('.blog-list li').index(this) + ')', 800);
});
Это мое видение ситуации
$('.bloc-list li').each(function(index,element){
$(element).click(function(e){
e.preventDefault();
$('body').scrollTo('.section:eq(' + index + ')', 800);
});
});
$('.blog-list li').click(function(e) {
e.preventDefault();
$('body').scrollTo('.section:eq('+$(this).index()+')', 800);
});
Этот метод работает путем динамической замены вызова :eq
с индексом элемента, который вызвал функцию, в этом случае, ваш элемент списка с помощью $(this).index()
,