/*
* Этот файл НЕ используется в сборке.
* Он нужен только для корректного автокомплита в IDE phpStorm.
* Эта IDE почему-то не работает как следует, при указании реально использующегося
* файла концигурации, расположенного не в корне проекта (node_modules/laravel-mix/setup/webpack.config.js)
*/
const path = require('path');
module.exports = {
resolve: {
extensions: ['*', '.wasm', '.mjs', '.js', '.jsx', '.json', '.vue'],
alias: {
'vue$': 'vue/dist/vue.runtime.esm.js',
'@': path.join(__dirname, 'src'),
},
},
};
<div class="hiking__about_item_img">
<img class="img1" src="img/about_hiking/1.png" alt="House and mountains in the background">
<img class="img2" src="img/about_hiking/2.png" alt="Snowy mountains">
</div>
.hiking__about_item_img:not(.toggled) .img2,
.hiking__about_item_img.toggled .img1 {
display: none;
}
document.querySelector('.hiking__about_item_img')?.addEventListener('click', e => {
e.currentTarget.classList.toggle('toggled');
});
Number(Math.pow(2, 4));
str.toLowerCase().includes(s);
const dscrs = document.querySelectorAll('.item__wrapper');
const ratings = document.querySelectorAll('.rating');
dscrs.forEach((wrapper) => {
let dsrc = wrapper.querySelector('.item__dscr');
let rating = wrapper.querySelector('.rating');
dscr.addEventListener('click', function(e) {
dscr.classList.toggle('item__dscr-active');
let active = dscr.classList.contains('item__dscr-active');
ratings.forEach(r => r.classList.remove('active'));
rating.classList.toggle('active', active);
})
})
div p {
pointer-events: none;
}
document.querySelector('div').addEventListener('click', e => {
console.log(e.currentTarget); // Будет див, даже если кликнули на внутренний элемент
});
document.querySelector('div').addEventListener('click', e => {
console.log(e.target.closest('div'));
// Будет НАЙДЕН див, внутри которого, или на нем самом кликнули
});
<input type="hidden" name="e_sale" value="0">
<input type="checkbox" id="e_sale" name="e_sale" value="1">
function run(cb) {
directionsService.route(route,
function(response) {
// ...
let distKm = parseInt(dist / 1000);
cb(distKm);
}
});
}
run(function(result){
console.log(result);
})
document.getElementById('btn-next').onclick = () => {
run(function(result){
console.log(result);
})
};
.position()
Description: Get the current coordinates of the first element in the set of matched elements, relative to the offset parent.
let s1 = '1';
let s2 = '2';
console.log(s1 + s2); // '12'
let n1 = 1;
let n2 = 2;
console.log(n1 + n2); // 3
let s1 = '1';
let n2 = 2;
console.log(s1 + n2); // '12'
parseInt()
- в целое числоparseFloat()
- в число с плавающей точкойNumber()
- можно еще так+n2
- или так (это уже своего рода хак, основанный на приведении типов)Number(element1.innerHTML) + Number(element2.innerHTML)