<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Counter not initializing in CMS Development</title>
    <link>https://community.hubspot.com/t5/CMS-Development/Counter-not-initializing/m-p/718848#M42131</link>
    <description>&lt;P&gt;When I remove that first line in the if statement it works.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;header.classList.add('go');&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;header&lt;/EM&gt; isn't defined anywhere in the code so it's breaking there. If you were trying to get the header element you should use &lt;EM&gt;document.querySelector('header')&amp;nbsp;&lt;/EM&gt;but based on the rest of your code I'm not seeing any purpose for that so I'd just remove the line.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Will note this only works in-page and not in the module preview since we're unable to activate a scroll event when in module preview.&lt;/P&gt;</description>
    <pubDate>Tue, 15 Nov 2022 19:48:39 GMT</pubDate>
    <dc:creator>alyssamwilie</dc:creator>
    <dc:date>2022-11-15T19:48:39Z</dc:date>
    <item>
      <title>Counter not initializing</title>
      <link>https://community.hubspot.com/t5/CMS-Development/Counter-not-initializing/m-p/718811#M42130</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I created a custom module and inserted it into the html template. Everything seems to work fine except the counter is not initializing.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's my module code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;HTML:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;div class="container-fluid bg-vg" id="corporate-stats"&amp;gt;
  &amp;lt;div class="container"&amp;gt;
    &amp;lt;div class="row justify-content-around py-3 text-center company-stats"&amp;gt;
      {% import "/vg-theme/templates/partials/stats.html" %}
      {% for stat in stats %}
      &amp;lt;div class="col-10 col-sm-2 py-5 py-sm-0"&amp;gt;
        &amp;lt;span class="company-stats-number text-vg3 fs-4"&amp;gt;&amp;lt;span class="counter counter-{{ stat.shortname }}"&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class="counter-default"&amp;gt;{{ stat.to_animate }}&amp;lt;/span&amp;gt;{{ stat.animate_appendage }}&amp;lt;/span&amp;gt;
        &amp;lt;span class="company-stats-text text-white small"&amp;gt;{{ stat.desc }}&amp;lt;/span&amp;gt;
      &amp;lt;/div&amp;gt;
      {% endfor %}
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;HTML partial:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;{% set stats = 
    [
      { 'shortname' : 'oftop', 'displaynumber' : '30', 'to_animate' : '30', 'animate_appendage' : '', 'desc' : 'Lorem ipsum' },
      { 'shortname' : 'sites', 'displaynumber' : '300', 'to_animate' : '300', 'animate_appendage' : '+', 'desc' : 'Lorem ipsum' },
      { 'shortname' : 'systems', 'displaynumber' : '100,000+', 'to_animate' : '100', 'animate_appendage' : ',000+', 'desc' : 'Lorem ipsum' },
      { 'shortname' : 'users', 'displaynumber' : '30,000+', 'to_animate' : '30', 'animate_appendage' : ',000+', 'desc' : 'Lorem ipsums' },
      { 'shortname' : 'experience', 'displaynumber' : '17', 'to_animate' : '17', 'animate_appendage' : '', 'desc' : 'Lorem ipsum' }
    ]
  %}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CSS:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="css"&gt;.company-stats-number {
display: block;
}

@media only screen and (min-width: 35em) { /* wide screen */

{# starting values before animation #}
.counter-default { display: none; }
.company-stats-number { color: var(--color-lightblue_10); }

@property --num {
syntax: "&amp;lt;integer&amp;gt;";
initial-value: 0;
inherits: false;
}

.go.company-stats-number { animation: color_change 1s ease-in forwards; }
.go.company-stats-text { animation: fadein 1s ease-in forwards; }
.go.corporate-stats-header { animation: fadein .5s ease-in forwards; }

span.go.counter.counter-oftop { animation: counter 5s ease-in-out forwards; counter-reset: num var(--num); }
span.go.counter.counter-oftop { --num: 30 }

span.go.counter.counter-sites { animation: counter 6.5s ease-in-out forwards; counter-reset: num var(--num); }
span.go.counter.counter-sites { --num: 300 }

span.go.counter.counter-systems { animation: counter 7s ease-in-out forwards; counter-reset: num var(--num); }
span.go.counter.counter-systems { --num: 100 }

span.go.counter.counter-users { animation: counter 6s ease-in-out forwards; counter-reset: num var(--num); }
span.go.counter.counter-users { --num: 30 }

span.go.counter.counter-experience { animation: counter 4s ease-in-out forwards; counter-reset: num var(--num); }
span.go.counter.counter-experience { --num: 15 }

span.counter::after {
content: counter(num);
}

@keyframes counter {
from {
--num: 0;
}
}

@keyframes fadein {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}

}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;JS:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;window.addEventListener('scroll', function (event) {
  
  var stats = document.querySelector('#corporate-stats');
  var stats_position = stats.getBoundingClientRect();
  var counter_object_containers = document.querySelectorAll('.company-stats-number');
  var counter_objects = document.querySelectorAll('.counter');
  var counter_descriptors = document.querySelectorAll('.company-stats-text');

  if (
    stats_position.top &amp;gt;= 0 &amp;amp;&amp;amp;
    stats_position.left &amp;gt;= 0 &amp;amp;&amp;amp;
    stats_position.right &amp;lt;= (window.innerWidth || document.documentElement.clientWidth) &amp;amp;&amp;amp;
    stats_position.bottom &amp;lt;= (window.innerHeight || document.documentElement.clientHeight)
    ) 
      {
        // console.log('v26');
        header.classList.add('go');
        for (var i = 0; i &amp;lt; counter_object_containers.length; i++) {
          counter_object_containers[i].classList.add('go');
        }
        for (var i = 0; i &amp;lt; counter_objects.length; i++) {
          counter_objects[i].classList.add('go');
        }
        for (var i = 0; i &amp;lt; counter_descriptors.length; i++) {
          counter_descriptors[i].classList.add('go');
        }
      } else {
        //
      }

}, false);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The output:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="counter.PNG" style="width: 999px;"&gt;&lt;img src="https://community.hubspot.com/t5/image/serverpage/image-id/79208iAEC49CC4D6E0DF45/image-size/large?v=v2&amp;amp;px=999" role="button" title="counter.PNG" alt="counter.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What am I missing?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Nov 2022 20:13:26 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/CMS-Development/Counter-not-initializing/m-p/718811#M42130</guid>
      <dc:creator>FilipaPF</dc:creator>
      <dc:date>2022-11-15T20:13:26Z</dc:date>
    </item>
    <item>
      <title>Re: Counter not initializing</title>
      <link>https://community.hubspot.com/t5/CMS-Development/Counter-not-initializing/m-p/718848#M42131</link>
      <description>&lt;P&gt;When I remove that first line in the if statement it works.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;header.classList.add('go');&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;header&lt;/EM&gt; isn't defined anywhere in the code so it's breaking there. If you were trying to get the header element you should use &lt;EM&gt;document.querySelector('header')&amp;nbsp;&lt;/EM&gt;but based on the rest of your code I'm not seeing any purpose for that so I'd just remove the line.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Will note this only works in-page and not in the module preview since we're unable to activate a scroll event when in module preview.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Nov 2022 19:48:39 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/CMS-Development/Counter-not-initializing/m-p/718848#M42131</guid>
      <dc:creator>alyssamwilie</dc:creator>
      <dc:date>2022-11-15T19:48:39Z</dc:date>
    </item>
    <item>
      <title>Re: Counter not initializing</title>
      <link>https://community.hubspot.com/t5/CMS-Development/Counter-not-initializing/m-p/718868#M42132</link>
      <description>&lt;P&gt;That's it!! It works now! Thank you very much &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Nov 2022 20:12:48 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/CMS-Development/Counter-not-initializing/m-p/718868#M42132</guid>
      <dc:creator>FilipaPF</dc:creator>
      <dc:date>2022-11-15T20:12:48Z</dc:date>
    </item>
  </channel>
</rss>

