- if (map && typeof map.setCenter === 'function' && typeof map.setZoom === 'function') {
- map.setCenter(15)(marker.geometry.getCoordinates(), 15);
- map.setZoom(15);
- }
+ map.setLocation({
+ center: markersCollection.find(n => n.id === officeId).coordinate,
+ zoom: 15,
+ });
// [object NodeList] (7)
[#text,<div/>,#text,<div/>,#text,<div/>,#text]
Так вот у этих текстовых узлов нет параметра offsetWidth, соответственно вы складываете undefined, получая NaN.- let box = document.querySelector(".box").childNodes;
+ let box = document.querySelector(".box").children;
- box.forEach((item) => {
+ for (let item of box) {
- })
+ }
// объект с путями к изображениям для нормального и hover состояний чтоб не засорять основной код ссылками
// предполагаю, что в сумме у вас их 6, по 2 на каждый элемент motionPlitka
const imageSources = {
preim1: {
normal: "https://i.ibb.co/ZdHgXTm/green.png",
hover: "https://i.ibb.co/g6mNxm8/white.png"
},
preim2: {
normal: "https://i.postimg.cc/6pKDm5Lq/green2.png",
hover: "https://i.postimg.cc/2SPBDMy1/white2.png"
},
preim3: {
normal: "https://ltdfoto.ru/images/2024/06/13/green3.png",
hover: "https://ltdfoto.ru/images/2024/06/13/white3.png"
}
};
// выносим функцию изменения картинки в зависимости от состояния (normal или hover)
const setImageSrc = (element, state) => {
// находим элемент <img> внутри элемента motionPlitka, на котором у нас курсор
const img = element.querySelector("img");
// извлекаем список классов элемента и ищем класс, который есть в imageSources
// в вашем случае preim1, preim2 или preim3
const className = [...element.classList].find(cls => imageSources[cls]);
// меняем src элемента <img> на значение из объекта imageSources для нужного класса и состояния
img.src = imageSources[className][state];
};
// получаем все элементы .motionPlitka и добавляем обработчики
document.querySelectorAll(".motionPlitka").forEach(elem => {
// при наведении мыши вызываем setImageSrc с состоянием hover
elem.addEventListener('mouseenter', () => setImageSrc(elem, 'hover'));
// при уходе мыши вызываем setImageSrc с состоянием normal
elem.addEventListener('mouseleave', () => setImageSrc(elem, 'normal'));
});
- indexToHeaderList = String(headerArr[choosenElem]);
+ indexToHeaderList = headerArr[choosenElem].innerText;
оператором typeof - пишет что это строкаНу так вы же по-любому на typeof проверяли после того как сами руками к строке привели?
const print = s => console.log(s);
let s = `<a href="https://google.ru/link/123abc/><img src="google.png"><br>Гугл</a>`;
let s2 = `<a href="https://ya.ru/link><img src="ya.png"><br>Яндекс</a>`;
let s3 = `<a href="https://rambler.ru/link/address/><img src="rambler.png"><br>Рамблер</a>`;
let a = s.match(/(?<=<br>).+(?=<)/g)[0];
let b = s2.match(/(?<=<br>).+(?=<)/g)[0];
let c = s3.match(/(?<=<br>).+(?=<)/g)[0];
let arr = [[a, s], [b, s2], [c, s3]];
arr.sort((a, b) => a[0].charCodeAt(0) - b[0].charCodeAt(0));
print(arr);
remove_action( 'woocommerce_single_variation', 'woocommerce_single_variation', 10);
add_action( 'woocommerce_before_variations_form', 'woocommerce_single_variation', 20);
можно ли как-то выполнять javascript код с сохранением не открывая вручную тысячи страниц?
var name="admin"
setTimeout(function(){
alert(name);
},1000);
function sayAfter(text,delay){
setTimeout(function(){
alert(text);
},delay);
}
sayAfter("lol",1000);
(function(){
var x, y, z;
//много разного кода, много переменных, которые не нужны в глобальной области видимости
})();