gpt4 book ai didi

javascript - 仅在滚动百分比上发送一次 dataLayer

转载 作者:行者123 更新时间:2023-12-01 05:15:23 26 4
gpt4 key购买 nike

我正在寻找有关 jQuery 的一些方向。可能有更好的方法来做到这一点,但基本上我试图在用户滚动到页面的 50% 时发送一个 dataLayer 变量,并在用户滚动到页面的 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?我认为两者的答案都是肯定的。我就是不知道怎么办!预先感谢您的帮助。

布莱恩

最佳答案

  1. 您实际上只需要某种标记,一旦您达到 74%,该标记就会被标记。例如:

let flag1 = false;
let flag2 = false;
$(window).on('scroll', function(){
var s = $(window).scrollTop(),
d = $(document).height(),
c = $(window).height();

var scrollPercent = (s / (d - c)) * 100;

if (scrollPercent > 74 && !flag1) {
dataLayer.push({'Project Profile':'75% Scrolled'});
flag1 = true;
};

if (scrollPercent > 49 && !flag2) {
dataLayer.push({'Project Profile':'50% Scrolled'});
flag2 = true;
};
})

  • 实际上您并不需要 JQuery。 GTM 现在具有捕获滚动深度的内置触发器。您可以在 post 中阅读更多内容
  • 关于javascript - 仅在滚动百分比上发送一次 dataLayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50025230/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com