|
26 | 26 | var bgLayer1 = heroSection.querySelector('[data-hero-bg-layer="1"]'); |
27 | 27 | var bgLayer2 = heroSection.querySelector('[data-hero-bg-layer="2"]'); |
28 | 28 | var heroContent = heroSection.querySelector('[data-hero-content]'); |
29 | | - var heroTitle = heroSection.querySelector('[data-hero-title]'); |
30 | | - var heroDesc = heroSection.querySelector('[data-hero-desc]'); |
31 | 29 | var indicatorsContainer = heroSection.querySelector('[data-hero-indicators]'); |
32 | 30 | var prevBtn = heroSection.querySelector('[data-hero-prev]'); |
33 | 31 | var nextBtn = heroSection.querySelector('[data-hero-next]'); |
34 | 32 |
|
35 | | - if (!bgLayer1 || !bgLayer2 || !heroContent || !heroTitle || !heroDesc || !indicatorsContainer) { |
| 33 | + function getHeroTitleEl() { |
| 34 | + return heroSection.querySelector('[data-hero-title]'); |
| 35 | + } |
| 36 | + |
| 37 | + function getHeroDescEl() { |
| 38 | + return heroSection.querySelector('[data-hero-desc]'); |
| 39 | + } |
| 40 | + |
| 41 | + if (!bgLayer1 || !bgLayer2 || !heroContent || !getHeroTitleEl() || !getHeroDescEl() || !indicatorsContainer) { |
36 | 42 | return; |
37 | 43 | } |
38 | 44 |
|
|
90 | 96 | }); |
91 | 97 |
|
92 | 98 | function setHeroTitleText(text) { |
| 99 | + var heroTitle = getHeroTitleEl(); |
| 100 | + if (!heroTitle) return; |
93 | 101 | if (heroTitle.querySelector('.ladybug-h1-char')) { |
94 | 102 | heroTitle.innerHTML = ''; |
95 | 103 | for (var i = 0; i < text.length; i++) { |
|
119 | 127 |
|
120 | 128 | function applySlideContent(slide) { |
121 | 129 | setHeroTitleText(slide.title || ''); |
122 | | - heroDesc.textContent = slide.description || ''; |
| 130 | + var heroDesc = getHeroDescEl(); |
| 131 | + if (heroDesc) { |
| 132 | + heroDesc.textContent = slide.description || ''; |
| 133 | + } |
123 | 134 | } |
124 | 135 |
|
125 | 136 | function trackSlide() { |
|
229 | 240 | }); |
230 | 241 | resetAutoplay(); |
231 | 242 | } |
| 243 | + |
| 244 | + document.addEventListener('cfd:hero-title-dom-replaced', function () { |
| 245 | + if (heroSection.contains(getH1BiteTarget())) { |
| 246 | + applySlideContent(heroSlides[currentSlide]); |
| 247 | + } |
| 248 | + }); |
| 249 | + |
| 250 | + function getH1BiteTarget() { |
| 251 | + return document.getElementById('ladybug-h1-bite-target'); |
| 252 | + } |
232 | 253 | } |
233 | 254 |
|
234 | 255 | function boot() { |
|
0 commit comments