fs.open(fname, 'a', (err, file_handle) => {
if (!err)
this.file_handle = file_handle;
$('#given1').on('change', 'select', function(){
addNewSelect();
});
$('#given1').on('change', 'select', addNewSelect);
.on('change blur',
. validate = true;
if (/* проверка введённых данных */) {
validate = false;
}
validate = /* проверка введённых данных */
arr.sort(({ date: a }, { date: b }) => !a ? 1 : !b ? -1 : a - b);
// или
arr.sort((a, b) => (a.date || Infinity) - (b.date || Infinity));
const sortedArr = arr
.map(n => [ n, n.hasOwnProperty('date') ? n.date : Infinity ])
.sort((a, b) => a[1] - b[1])
.map(n => n[0]);
function toggleWithInterval(selector, delay) {
let index = -1;
return setInterval(function($items) {
$items.eq(index).hide();
index = (index + 1) % $items.length;
$items.eq(index).show();
}, delay, $(selector).hide());
}
toggleWithInterval('.container1 > .good', 1000);
toggleWithInterval('.container2 > .good', 300);
var i
на let i
.document.querySelectorAll('li').forEach((n, i) => {
n.addEventListener('click', e => {
console.log(i);
});
});
const onClick = e => console.log(e.target.dataset.index);
const li = document.getElementsByTagName('li');
for (let i = 0; i < li.length; i++) {
li[i].dataset.index = i;
li[i].addEventListener('click', onClick);
}
document.querySelector('ul').addEventListener('click', e => {
if (e.target.tagName === 'LI') {
const i = [...e.currentTarget.children].indexOf(e.target);
console.log(i);
}
});
elem.style.opacity += 0.02;
elem.style.opacity = (+elem.style.opacity + 0.02).toFixed(2);
.q
- а они друг другу соседями не приходятся, поскольку у каждого есть отдельный родительский элемент .trigger
. Так что замените $(this).siblings()
на $(this).parent().siblings()
.const $q = $('.trigger .q').click(function() {
$q.not(this).next().slideUp();
$(this).next().slideToggle();
});
const obj = Object.assign({}, ...arr.map((n, i) => ({ [n]: arr2[i] })));
// или
const obj = arr.reduce((acc, n, i) => ({ ...acc, [n]: arr2[i] }), {});
const combine = (keys, values) =>
keys.reduce((acc, n, i) => (acc[n] = values[i], acc), {});
const obj = combine(arr, arr2);
$(document).on('click', '.ev-title', function() {
$(this).closest('.wrapper').find('.dop-descr').toggleClass('visible');
});
.dop-descr
, а у их самых дальних не общих предков, которыми, насколько я понял, являются .wrapper
. Если вдруг решите дополнительно стилизовать внутри .wrapper
с кликнутым .ev-title
ещё какие-то элементы, то не придётся переписывать js-код. Конечно, css придётся немного переписать, вместо .dop-descr.класс
стилизовать надо будет .класс .dop-descr
.const containerSelector = '.wrapper';
const buttonSelector = '.ev-title';
const activeClass = 'active';
$(containerSelector).on('click', buttonSelector, e => {
$(e.delegateTarget).toggleClass(activeClass);
});
document
.querySelectorAll(`${containerSelector} ${buttonSelector}`)
.forEach(n => n.addEventListener('click', onClick));
function onClick() {
this.closest(containerSelector).classList.toggle(activeClass);
}
больше не появлялось пока он не почистит куки
const result = Object
.entries(Object.assign({}, ...arr1, ...arr2))
.map(n => ({ [n[0]]: n[1] }));
const union = (key, ...arrs) =>
Object.values([].concat(...arrs).reduce((acc, n) => (acc[key(n)] = n, acc), {}));
const result = union(el => Object.keys(el)[0], arr1, arr2);
const result = _.unionBy(arr1, arr2, el => _.keys(el)[0]);
$(document).click(function(e) {
const $target = $(e.target);
let $itemsToClose = $('.top-menu__item');
if ($target.hasClass('top-menu__link')) {
const $item = $target.closest('li');
$item.toggleClass('top-menu__item_open').children('ul').slideToggle();
$itemsToClose = $itemsToClose.not($item);
}
$itemsToClose
.removeClass('top-menu__item_open')
.children('ul')
.slideUp();
});
<div class="slide" data-slide="1">1</div>
<div class="slide" data-slide="2">1+1</div>
<div class="slide" data-slide="3">3.0001</div>
<div>
<span class="step" data-slide="1"></span>
<span class="step" data-slide="2"></span>
<span class="step" data-slide="3"></span>
</div>
data-slide
такое же, как у кнопки:$(document).on('click', '.step', function() {
$('.step.active, .slide.active').removeClass('active');
$(this).addClass('active');
$(`.slide[data-slide="${this.dataset.slide}"]`).addClass('active');
});
// по умолчанию сделаем активным первый слайд
$('.step').eq(0).click();