6202
редагування
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
| Рядок 105: | Рядок 105: | ||
// ================================================== | // ================================================== | ||
// | // МОБІЛЬНИЙ ПОШУК | ||
// ================================================== | // ================================================== | ||
$ | $(function() { | ||
// Тільки для мобільних | |||
if ($(window).width() > 768) return; | |||
// | var $searchBtn = $('.mobile-search-btn'); | ||
var $overlay = $('.mobile-search-overlay'); | |||
// Якщо вже є - не створюємо заново | |||
if ($searchBtn.length === 0) { | |||
$searchBtn = $('<div class="mobile-search-btn">' + | |||
'<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2">' + | |||
'<circle cx="11" cy="11" r="8"/>' + | |||
'<path d="m21 21-4.35-4.35"/>' + | |||
'</svg>' + | |||
'</div>'); | |||
$overlay = $('<div class="mobile-search-overlay">' + | |||
'<input type="text" placeholder="Пошук..." autocomplete="off">' + | |||
'<div class="mobile-search-close">×</div>' + | |||
'</div>'); | |||
$('.minerva-header .branding-box').after($searchBtn); | |||
$ | $('body').append($overlay); | ||
} | |||
var $input = $overlay.find('input'); | |||
var $close = $overlay.find('.mobile-search-close'); | |||
$ | |||
$searchBtn.on('click', function(e) { | |||
e.preventDefault(); | |||
e.stopPropagation(); | |||
$overlay.addClass('active'); | |||
setTimeout(function() { $input.focus(); }, 100); | |||
}); | }); | ||
$close.on('click', function() { | |||
$overlay.removeClass('active'); | |||
$input.val(''); | |||
}); | |||
$input.on('keydown', function(e) { | |||
$ | if (e.keyCode === 13) { | ||
if ( | var query = $input.val().trim(); | ||
if (query) { | |||
window.location.href = '/index.php?title=Спеціальна:Пошук&search=' + encodeURIComponent(query); | |||
$ | } | ||
$(' | } | ||
if (e.keyCode === 27) { | |||
$overlay.removeClass('active'); | |||
$input.val(''); | |||
} | } | ||
}); | }); | ||
$overlay.on('click', function(e) { | |||
if (e.target === this) { | |||
$overlay.removeClass('active'); | |||
} | $input.val(''); | ||
} | |||
}); | |||
}); | }); | ||