у меня есть процедура, так что мой главный навигационный имеет другой стиль, если пользователь прокручивается в верхней части страницы или дальше вниз от:Как оптимизировать эту функцию Javascript?
/* Handle the changing of the top nav on page scroll */
window.onscroll = function()
{
if ($(window).scrollTop() > 150) // 150 pixels from top triggers scrolling
{
$('.navbar-default').addClass('scrolling');
}
else
{
$('.navbar-default').removeClass('scrolling');
}
};
Проблема в том, что я понимаю, что это эффективно, потому что class
из navbar-default
добавляется или удаляется небольшое количество раз по отношению к числу раз, которое вызывается onscroll
. Я также понял, что мне нужно изменить изображение в нав в зависимости от того или нет прокрутки происходит, так что я бы тогда, по существу
/* Handle the changing of the top nav on page scroll */
window.onscroll = function()
{
if ($(window).scrollTop() > 150) // 150 pixels from top triggers scrolling
{
$('.navbar-default').addClass('scrolling');
$('.navbar-default .navvar-brand img').attr('src','image1.jpg');
}
else
{
$('.navbar-default').removeClass('scrolling');
$('.navbar-default .navvar-brand img').attr('src','image2.jpg');
}
};
который является еще более смешным. Как я могу окурить эту комнату, полную запаха кода?
Название этого вопроса очень сбивает с толку. – Pointy
@Pointy Я имею в виду, как уменьшить среднее число операций –
Итак, «как», а не «почему» ... – Pointy