$('#courses').hover(function() {
$('#coursesHeader').dequeue().show();
}, function() {
$('#coursesHeader').delay(1000).queue(function() {
$(this).hide().dequeue();
});
});let timeout = null;
$('#courses').hover(function() {
clearTimeout(timeout);
$('#coursesHeader').show();
}, function() {
timeout = setTimeout(() => $('#coursesHeader').hide(), 1000);
});
$('<div class="list" />')
.append([...Array(100)].map((n, i) => `<div>Item ${i}</div>`).join(''))
.appendTo('body');
const li = $('.list').children();
let selected = $();
$(window).on('keydown', function(e) {
e.preventDefault();
const [ method, index ] = ({
ArrowUp: [ 'prev', -1 ],
ArrowDown: [ 'next', 0 ],
})[e.key] || [];
if (method) {
const next = selected.removeClass('selected')[method]();
selected = (next.length ? next : li.eq(index)).addClass('selected');
$(this).scrollTop(selected.position().top);
}
});
localStorage.setItem('time', ticks);// если значение отсутствует, то будет установлен 0, т.к. +null === 0
var ticks = +localStorage.getItem('time');
option:selected, суммируя data-price и закидывая data-name в массив:$('.select-spa').on('change', function() {
const data = $('option:selected').get().reduce((acc, n) => {
acc.names.push(n.dataset.name);
acc.price += +n.dataset.price;
return acc;
}, { names: [], price: 0 });
$('.chose').text(data.names.join(', '));
$('.to-pay .result-select').val(data.price);
});
$('.price-inp').change(function() {
const val = Math.round($(this).val() / 100) * 100;
$(this).add('.result').val(val);
});
const details = document.querySelectorAll('[name="pakdetail"]');
const colors = document.querySelectorAll('[name="pakcolor"]');
const onChange = enableColors.bind(null, true);
enableColors(false);
function enableColors(enabled) {
const method = `${enabled ? 'remove' : 'add'}EventListener`;
details.forEach(n => n[method]('change', onChange));
colors.forEach(n => n.disabled = !enabled);
}
const result = [].concat(...arr);
function sorted(arr) {
const chars = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
const words = arr.filter(n => chars.includes(n[0]) && chars.includes(n.slice(-1)));
const grouped = words.reduce(
(acc, n) => (acc[chars.indexOf(n[0])].push(n), acc),
Array.from(chars, () => [])
);
const result = [];
for (
let prev = (grouped.find(n => n.length) || []).pop();
prev && result.push(prev) < words.length;
) {
for (
let i = chars.indexOf(prev.slice(-1)), j = i;
!(prev = grouped[i].pop() || grouped[j].pop());
i = -~i % grouped.length, j = ~-(j || grouped.length)
) ;
}
return result;
}
app.use(function(req, res, next) { req.session.number =req.session.number + 1 || 1; })
val = this.valueval = this.value.toUpperCase()if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {if (arr[i].toUpperCase().includes(val)) {b.innerHTML = "<strong>" + arr[i].substr(0, val.length) + "</strong>";
b.innerHTML += arr[i].substr(val.length);b.innerHTML = arr[i]
.split(RegExp(`(${val})`, 'i'))
.map((n, i) => i & 1 ? `<b>${n}</b>` : n)
.join('');