Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slider only being created in the DOM below ~750px breakpoint #43

Open
tbeckman1234 opened this issue Feb 3, 2024 · 0 comments
Open

Comments

@tbeckman1234
Copy link

tbeckman1234 commented Feb 3, 2024

I can see the slider being created in the DOM only when screen size goes below about a 750px breakpoint.

Above this level, the .a11y-slider is not being created and is being removed if it is present in the DOM.

This is my implementation:

HTML:

<section class="carousel | padding-block-900 text-center">
        <h2 class="fs-secondary-heading fw-bold">What they've said</h2>
        <!--Carousel here-->
        <ul class="slider">
          <li>
            <img src="images/avatar-anisha.png" alt="">
            <div class="slider-content | flow" style="--flow-spacer: 1rem">
              <h3 class="fw-bold">Anisha Li</h3>
              <p data-width="wide">"Manage has supercharged our team's workflow. The ability to maintain visiblity on larger milestones at all times keeps everyone motivated."</p>
            </div>
          </li>
          <li>
            <img src="images/avatar-ali.png" alt="">
            <div class="slider-content | flow" style="--flow-spacer: 1rem">
              <h3 class="fw-bold">Ali Bravo</h3>
              <p data-width="wide">"We have been able to cancel so many other subscriptions since using Manage. There is no more cross-channel confusion and everyone is much more focused."</p>
            </div>
          </li>
          <li>
            <img src="images/avatar-richard.png" alt="">
            <div class="slider-content | flow" style="--flow-spacer: 1rem">
              <h3 class="fw-bold">Richard Watts</h3>
              <p data-width="wide">"Manage allows us to provide structure and process. It keeps us organized and focused. I can't stop recommending them to everyone I talk to!"</p>
            </div>
          </li>
          <li>
            <img src="images/avatar-shanai.png" alt="">
            <div class="slider-content | flow" style="--flow-spacer: 1rem">
              <h3 class="fw-bold">Shanai Gough</h3>
              <p data-width="wide">"Their software allows us to track, manage, and collaborate on our projects from anywhere. It keeps the whole team in sync without being intrusive."</p>
            </div>
          </li>
        </ul>
          <button class="button">Get Started</button>
      </section>

Javascript:

const slider = new A11YSlider(document.querySelector(".slider"), {
    dots: true,
    arrows: false,
    
    responsive: {
      480: {
        dots: false, // dots disabled above 480
      },
    },
  });

CSS:

/* slider */

.slider {
display: flex;
gap: var(--size-600);
list-style: none;
}

.a11y-slider-container {
margin-block: var(--size-700);
margin-inline: var(--size-400);
}

.slider > * {
position: relative;
flex: 0 0 auto;
width: 100%;
}

@media (min-width: 30em) {
.slider {
  scroll-padding-inline: 25px;
}
.a11y-slider-container {
  margin-inline: 0;
}
.slider > * {
  width: 50%;
}
}

@media (min-width: 47em) {
.slider > * {
  width: 28%;
}
}

.slider-content {
border-radius: var(--size-100);
padding: var(--size-700) var(--size-600) var(--size-600);
background: var(--clr-neutral-200);
}

.slider img {
width: var(--size-800);
position: relative;
top: calc(var(--size-800) / 2);
margin-inline: auto;
}

.a11y-slider-dots {
display: flex;
justify-content: center;
margin-block: var(--size-500);
gap: var(--size-300);
}

.a11y-slider-dots li {
display: block;
width: 12px;
height: 12px;
padding: 0;
}

.a11y-slider-dots li button {
display: block;
font-size: 0;
text-indent: -9999px;
background: transparent;
border: 1px solid var(--clr-accent-400)
!important;
width: 100%;
height: 100%;
border-radius: 100%;
}

.a11y-slider-dots li button.active {
background: var(--clr-accent-400);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant