e1commerce.com
Ask a question
  • New questions
  • With the answers
  • Unanswered
  1. Home
  2. javascript - add class on scroll not working in Shopify enviroment

34 votes
0 answers

javascript - add class on scroll not working in Shopify enviroment

Solution:

You are trying to getstickyy-header element before the page has loaded, which means the element does not exist yet.

You need to wrap your code in window.onload event, which ensures that the element will be there.

window.onload = function() {
    alert(document.getElementById("stickyy-header"));
};

Working solution

window.onload = function() {
  let scrollpos = window.scrollY

  const header = document.getElementById("stickyy-header")
  const scrollChange = 60

  const add_class_on_scroll = () => header.classList.add("bg-white")
  const remove_class_on_scroll = () => header.classList.remove("bg-white")

  window.addEventListener('scroll', function() {
    scrollpos = window.scrollY;

    if (scrollpos >= scrollChange) {
      add_class_on_scroll()
    } else {
      remove_class_on_scroll()
    }

  })
};
.header-wrappy {
  width: 300px;
  height: 30px;
  position: fixed;
  font-size: 18px;
  color: blue;
}

#stickyy-header {
  background-color: rgba(255, 255, 255, 0);
  transition: all 0.2s ease-in-out;
}

#stickyy-header.bg-white {
  background-color: rgba(255, 255, 255, 1) !important;
}

#stickyy-header:hover {
  background-color: rgba(255, 255, 255, 1) !important;
}
<sticky-header id="stickyy-header" class="header-wrappy">hello I am a sticky header </sticky-header>

<p style="width:300px; background:red;">
  Lorem Ipsum és un text de farciment usat per la indústria de la tipografia i la impremta. Lorem Ipsum ha estat el text estàndard de la indústria des de l'any 1500, quan un impressor desconegut va fer servir una galerada de text i la va mesclar per crear
  un llibre de mostres tipogràfiques. No només ha sobreviscut cinc segles, sinó que ha fet el salt cap a la creació de tipus de lletra electrònics, romanent essencialment sense canvis. Es va popularitzar l'any 1960 amb el llançament de fulls Letraset
  que contenien passatges de Lorem Ipsum, i més recentment amb programari d'autoedició com Aldus Pagemaker que inclou versions de Lorem Ipsum. Per què el fem servir? És un fet establert de forma evident que un lector es distraurà amb el contingut llegible
  d'una pàgina quan miri a la seva composició. El fet de fer servir Lorem Ipsum és perquè conté una distribució més o menys normal de lletres, de forma oposada a quan es fa servir "Contingut aquí, contingut aquí", aconseguint així que sembli català llegible.
  Molts paquets d'autoedició fan servir Lorem Ipsum com el seu model de text, i una cerca per "Lorem Ipsum" descobrirà molts llocs web encara a les baceroles. Diverses versions han anat evolucionant al llarg dels anys, a vegades per acident, a vegades
  a propòsit (inserint humor i coses per l'estil). D'on ve? Contràriament a la creença popular, Lorem Ipsum no és només text aleatori. Té les seves arrels en una peça clàssica de la literatura llatina del 45 aC, és a dir, de fa 2000 anys. Richard McClintock,
  un professor de llatí al Hampden-Sydney College a Virgínia, va buscar una de les paraules més estranyes del llatí, "consectetur", procedent d'un dels paràgrafs de Lorem Ipsum, i anant de citació en citació d'aquesta paraula a la literatura clàssica,
  en va descobrir l'orígen veritable. Lorem ipsum procedeix de les seccions 1.10.32 i 1.10.33 de "De Finibus Bonorum et Malorum" (Sobre el Bé i el Mal) de Ciceró, escrit l'any 45 aC. Aquest llibre és un tractat sobre la teoria de l'ètica, molt popular
  durant el Renaixement. La primera línia de Lorem Ipsum, "Lorem ipsum dolor sit amet..", prové d'una línia a la secció 1.10.32. El fragment estàndard de Lorem Ipsum fet servir des del 1500 es reprodueix a continuació per tots aquells interessats. Les
  seccions 1.10.32 i 1.10.33 de "De Finibus Bonorum et Malorum" de Ciceró es reprodueixen en la seva forma original, acompanyades de les versions angleses de la traducció de 1914 feta per H. Rackham.

</p>

Undefined asked
2023-01-14


Source

Didn't find the answer?

Our community is visited by hundreds of Shopify development professionals every day. Ask your question and get a quick answer for free.

Ask a Question

Similar questions

Find the answer in similar questions on our website.

487 javascript - add class on scroll not working in Shopify enviroment
478 javascript - Tap to copy discount code is not working in cart drawer Shopify
873 javascript - Cart toast notification - Shopify Hydrogen
606 liquid - How to no-index specific pages on shopify? Don't want to use "contains" example for shopify, can I just type "="? And what denotes as the handle?
488 javascript - Script not removing class from targeted element
65 javascript - Shopify - Facing issue when creating customer using shopify api
912 javascript - How to add custom textbox field on shopify product page that also shown in cart under product description
791 javascript - How do add basic form validation to Shopify Liquid?
559 fulfillment shopify api not working 2023-01
94 javascript - show product title in shopify product-template

Write quick answer

Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.







Latest questions:

3 Triggering Zapier on new Shopify order containing a specific product

291 javascript - Swiper js - How can i change the background color of the selected slide

598 Shopify Webhooks not redirect into Laravel Route

57 How to enable / disable my app that is being managed from theme customization section shopify

674 Shopify List Blog Tags



© 2021

E-mail: infot@e1commerce.com