Оптимизация скрипта ЯндексКарт page-camp.php
This commit is contained in:
parent
22eb09e82c
commit
cee87ad419
@ -618,33 +618,44 @@ function getBanner($nameBanner) {
|
|||||||
</div>";
|
</div>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
(function() {
|
||||||
|
var mapLoaded = false;
|
||||||
|
var mapContainer = document.getElementById("ya-map");
|
||||||
|
if (!mapContainer) return;
|
||||||
|
|
||||||
let mapLoad = false;
|
var observer = new IntersectionObserver(function(entries) {
|
||||||
|
if (entries[0].isIntersecting && !mapLoaded) {
|
||||||
|
mapLoaded = true;
|
||||||
|
observer.disconnect();
|
||||||
|
|
||||||
window.addEventListener('scroll', function(event) {
|
var script = document.createElement("script");
|
||||||
// Изменяем стили элемента при прокрутке страницы
|
script.src = "https://api-maps.yandex.ru/2.1/?lang=ru_RU";
|
||||||
const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
|
script.onload = function() {
|
||||||
if (scrollTop > 100 && !mapLoad) {
|
ymaps.ready(function() {
|
||||||
ymaps.ready(init);
|
var map = new ymaps.Map("ya-map", {
|
||||||
mapLoad = true;
|
center: [<?php echo $contact_location; ?>],
|
||||||
function init() {
|
zoom: 16
|
||||||
var map = new ymaps.Map("ya-map", {
|
}, {
|
||||||
center: [<?php echo $contact_location; ?>],
|
searchControlProvider: "yandex#search"
|
||||||
zoom: 16 }, {
|
});
|
||||||
searchControlProvider: 'yandex#search'
|
|
||||||
});
|
|
||||||
|
|
||||||
var myPlacemark = new ymaps.Placemark([<?php echo $contact_location; ?>],
|
var placemark = new ymaps.Placemark(
|
||||||
{iconContent: '<?php echo $contact_location_text; ?>'},
|
[<?php echo $contact_location; ?>],
|
||||||
{preset: 'islands#redStretchyIcon'});
|
{ iconContent: "<?php echo $contact_location_text; ?>" },
|
||||||
map.geoObjects.add(myPlacemark);
|
{ preset: "islands#redStretchyIcon" }
|
||||||
}
|
);
|
||||||
}
|
map.geoObjects.add(placemark);
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
document.body.appendChild(script);
|
||||||
|
}
|
||||||
|
}, { rootMargin: "200px" });
|
||||||
|
|
||||||
|
observer.observe(mapContainer);
|
||||||
|
})();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
get_footer();
|
get_footer();
|
||||||
Loading…
Reference in New Issue
Block a user