@glidejs/glide
Version:
Glide.js is a dependency-free JavaScript ES6 slider and carousel. It’s lightweight, flexible and fast. Designed to slide. No less, no more
34 lines (30 loc) • 1.03 kB
JavaScript
const ROOT_SELECTOR = '.glide'
const CLONE_CLASS = 'glide__slide--clone'
const TRACK_SELECTOR = '[data-glide-el="track"]'
const BULLETS_SELECTOR = `[data-glide-dir*="="]`
const PREVIOUS_CONTROLS_SELECTOR = `[data-glide-dir*="<"]`
const NEXT_CONTROLS_SELECTOR = `[data-glide-dir*=">"]`
export function query (document) {
const root = document.querySelector(ROOT_SELECTOR)
const track = root.querySelector(TRACK_SELECTOR)
const wrapper = track.children[0]
const bullets = root.querySelectorAll(BULLETS_SELECTOR)
const previousControls = root.querySelectorAll(PREVIOUS_CONTROLS_SELECTOR)
const nextControls = root.querySelectorAll(NEXT_CONTROLS_SELECTOR)
const slides = Array.from(wrapper.children).filter((slide) => {
return !slide.classList.contains(CLONE_CLASS)
})
const clones = Array.from(wrapper.children).filter((slide) => {
return slide.classList.contains(CLONE_CLASS)
})
return {
root,
track,
wrapper,
slides,
clones,
bullets,
previousControls,
nextControls
}
}