Я ищу какое-то направление в этом фрагменте jQuery. Вероятно, есть лучший способ сделать это, но в основном я пытаюсь отправить переменную dataLayer, когда пользователь получает 50% прокрутки страницы, и отправить другую, когда они доберутся до 75% страницы.
$(window).on('scroll', function(){
var s = $(window).scrollTop(),
d = $(document).height(),
c = $(window).height();
var scrollPercent = (s / (d - c)) * 100;
if (scrollPercent > 74 && scrollPercent < 76) {
dataLayer.push({'Project Profile':'75% Scrolled'})
};
if (scrollPercent > 49 && scrollPercent < 51) {
dataLayer.push({'Project Profile':'50% Scrolled'})
};
})
Поскольку числа могут быть 74.23413424, 74.3495490 и т. д., он срабатывает тонну раз между минимальным 74 и максимальным 76.
Есть лучший способ сделать это? Есть ли способ отправить только один dataLayer.push? Я предполагаю, что ответ на оба вопроса - да. Я просто понятия не имею, как! Заранее спасибо за помощь.
Брайан