45 lines
1.5 KiB
PHP
45 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Sticky CTA — мобильный и десктопный
|
|
* Показывается после прокрутки hero-секции
|
|
*
|
|
* @package Dekart
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
?>
|
|
<div class="sticky-cta-mobile" aria-label="Запись">
|
|
<div class="sticky-cta-mobile__inner">
|
|
<span class="sticky-cta-mobile__text">Полное тестирование и первое занятие — <strong>бесплатно!</strong> Потом принимаете решение</span>
|
|
<button class="sticky-cta-mobile__btn btn-write">Записаться</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sticky-cta-desktop" aria-label="Запись">
|
|
<div class="sticky-cta-desktop__inner">
|
|
<div class="sticky-cta-desktop__info">
|
|
<span class="sticky-cta-desktop__badge">🔥 Акция</span>
|
|
<span class="sticky-cta-desktop__text">Полное тестирование и первое занятие — <strong>бесплатно!</strong> Потом принимаете решение</span>
|
|
</div>
|
|
<button class="sticky-cta-desktop__btn btn-write">Записаться</button>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
(function() {
|
|
var sticky = document.querySelector('.sticky-cta-desktop');
|
|
var hero = document.querySelector('.ds-hero');
|
|
if (!sticky || !hero) return;
|
|
|
|
var observer = new IntersectionObserver(function(entries) {
|
|
entries.forEach(function(entry) {
|
|
sticky.classList.toggle('visible', !entry.isIntersecting);
|
|
});
|
|
}, { threshold: 0 });
|
|
|
|
observer.observe(hero);
|
|
})();
|
|
</script>
|