function manualSmoothScroll(event) {
// находим хэш ссылу по которой мы кликнули
const id = event.target.closest('a[href^="#"]')?.hash;
// если клик куда-то ещё - ничего не делаем
if (!id) return;
// находим цель куда будем скроллить по хэшу
const target = document.querySelector(id);
// если не нашли - ничего не делаем
if (!target) return;
// отменяем стандартный переход
event.preventDefault();
// едем руками
target.scrollIntoView({ behavior: "smooth" });
}
// при загрузке
addEventListener('click', manualSmoothScroll, true);
// при выгрузке
removeEventListener('click', manualSmoothScroll, true);
// если действовать надо только в рамках элнметата
// elementRef.value.addEvent... elementRef.value.removeve...
// или this.$refs.element...
// или this.$el...
<script src="https://unpkg.com/@lottiefiles/lottie-player@latest/dist/lottie-player.js"></script>
<lottie-player src="https://uploads-ssl.webflow.com/61ba25c12d02da39d4bc71dc/61f137ad94ace3b121740311_zima-animation-v1.json" background="transparent" speed="1" style="width: 300px; height: 300px;" loop controls autoplay></lottie-player>
$(document).on('click', '.number-select__item', function () {
let country = $(this).find('.number-select__country-name').text();
let code = $(this).find('.number-select__dial-code').text();
let classes = $(this).find('.number-select__flag-box div').attr('class'); //добавить
$('.number-select__selected-dial-code').text(`${code} (${country})`);
numberSelect.slideToggle('fast');
$('.number-select__selected-dial-code').prev().attr('class', classes); //добавить
});
$(document).click(function(){
numberSelect.slideUp('fast');
});
function findVideos() {
let videos = document.querySelectorAll('.video');
for (let i = 0; i < videos.length; i++) {
setupVideo(videos[i]);
}
}
function setupVideo(video) {
let link = video.querySelector('.video__link');
let media = video.querySelector('.video__media');
let button = video.querySelector('.video__button');
let id = link.dataset.id;
video.addEventListener('click', () => {
let iframe = createIframe(id);
link.remove();
button.remove();
video.appendChild(iframe);
});
link.removeAttribute('href');
video.classList.add('video--enabled');
}
function createIframe(id) {
let iframe = document.createElement('iframe');
iframe.setAttribute('allowfullscreen', '');
iframe.setAttribute('allow', 'autoplay');
iframe.setAttribute('src', generateURL(id));
iframe.classList.add('video__media');
return iframe;
}
function generateURL(id) {
let query = '?rel=0&showinfo=0&autoplay=1';
return 'https://www.youtube.com/embed/' + id + query;
}
findVideos();
<div class="video">
<a class="video__link" data-id="<? echo get_field('single-product-video'); ?>" href="https://youtu.be/<? echo get_field('single-product-video'); ?>">
<img class="video__media" src="https://i.ytimg.com/vi/<? echo get_field('single-product-video'); ?>/maxresdefault.jpg" alt="<? the_title(); ?>">
</a>
<button class="video__button" aria-label="Запустить видео">
<svg width="68" height="48" viewBox="0 0 68 48"><path class="video__button-shape" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z"></path><path class="video__button-icon" d="M 45,24 27,14 27,34"></path></svg>
</button>
</div>
wp_get_nav_menu_object()
и вывести произвольным циклом. Получить можно по названию:$menu_name = 'Menu';
$nav_menu = wp_get_nav_menu_object( $menu_name );
if ( !$nav_menu ) {
$menu_id = wp_create_nav_menu( $menu_name );
} else {
$menu_id = $nav_menu->term_id;
}
// получаем элементы меню
$nav_menu_items = wp_get_nav_menu_items( $menu_id );
$menu_location = 'primary';
$locations = get_nav_menu_locations();
if ( isset( $locations[$menu_location] ) ) {
$nav_menu_items = wp_get_nav_menu_items( $locations[$menu_location] );
}
@media
лучше указывать только ширину, а не сочетание ширины/высоты.