this.content.querySelectorAll('.cell').forEach((cell) => {
let timer = null; // дескриптор отложенного обработчика одного клика
cell.addEventListener('click', (e) => {
if(timer)
clearTimeout(timer); // при каждом клике сбрасываем отложенный обработчик обработки одного клика
if(e.detail == 1) // на первом клике устанавливаем отложенный обработчик
timer = setTimeout(handleClickCell, 250); // Выполнение функции по одинарному клику после ожидания второго клика 250мс
if(e.detail == 2) // на втором - выполнение обработчика двойного клика
{
// благодаря счетчику detail в ивенте можем посчитать длину очереди непрерывных кликов, и в нужный момент выполнить функцию на втором клике
console.log('111');
}
} );
}); transition: all 0.6s;Asus RT-G32 или WL-520GC
Каждая табличка - это отдельный файл SQL.
(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) == 0abs(x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)) <= epsSELECT o.id, o.variant_id,
/* vp.variant_id, */ -- заджойненные id дублировать в выборке не нужно, если, конечно, не хотите наблюдать null-значения по другую сторону присоединения таблицы vp
vp.quantity AS quantity_result,
sum(vp.quantity) over (partition by vp.variant_id) as sum_by_variant_id -- сумма в пределах партиции variant_id
FROM orders AS o
LEFT JOIN variant_products AS vp ON vp.variant_id = o.variant_id
LEFT JOIN products AS p ON p.id = vp.product_id
LEFT JOIN product_types AS pt ON pt.id = p.type_id
/*WHERE */ and pt.id NOT IN (1, 2) -- если напишите в where, то выборка усечется до такого условия с pt.id. Но если напишите это условие в left join, то выберутся все Order, но где pt.id IN (1, 2) будут null значения.SELECT o.id, o.variant_id,
/* vp.variant_id, */ -- заджойненные id дублировать в выборке не нужно, если, конечно, не хотите наблюдать null-значения по другую сторону присоединения таблицы vp
sum(vp.quantity) as sum_by_variant_id -- сумма в пределах группировки o.id, o.variant_id
FROM orders AS o
LEFT JOIN variant_products AS vp ON vp.variant_id = o.variant_id
LEFT JOIN products AS p ON p.id = vp.product_id
LEFT JOIN product_types AS pt ON pt.id = p.type_id
/*WHERE */ and pt.id NOT IN (1, 2) -- если напишите в where, то выборка усечется до такого условия с pt.id. Но если напишите это условие в left join, то выберутся все Order, но где pt.id IN (1, 2) будут null значения.
group by o.id, o.variant_id /*, vp.variant_id */адаптивности при таком раскладе не возможно добиться
p.s.: я думал сделать сеткой, т.е. типа как пазл картинка состоящая из одинаковых квадратиков (тогда это будет проще)
контейнер_div_ов > div
{
/* стили элементов абвгдейки */
}контейнер_div_ов > div[id]
{
/* стили элементов абвгдейки */
}<div class="alphabet">
<div id="A" class="alphabet__item"></div>
<div id="B" class="alphabet__item"></div>
<div id="C" class="alphabet__item"></div>
...
</div> не больше двух раз в неделю
select count(*) as cnt -- кол-во записей на этой неделе
from record as r
where r.user_id = ? -- пользователь
-- дата текущего понедельника (от curdate()) <= r.add_date < дата следующего понедельника (от curdate())
and r.add_date >= subdate(curdate(), interval weekday(curdate()) day) -- текущ. понедельник с точки зрения curdate()
and r.add_date < subdate(curdate(), interval weekday(curdate()) - 7 day) -- следующий понедельник с точки зрения curdate()select count(*) as cnt -- кол-во записей за последние 7 дней
from record as r
where r.user_id = ? -- пользователь
and r.add_date > subdate(curdate(), interval 7 day) failed because the user didn't interact with the document first