Такая проблема - при вводе поисковой фразы, с третьей буквы, поиск выдает результат, и если продолжить вводить символы, результат пропадает, а потом опять выскакивает, жутко раздражает. Как сделать что-бы результат поиска не пропадал, а либо всегда был виден, либо поставить задержку (хотя бы секунду)? Сайт
https://vest.in.ua/. Я js только начал изучать, буду благодарен за помощь. Как я понял за поиск отвечает этот код, приложу файл с кодом в txt формате:
function doLiveSearch(a, b) {
return 38 != a.keyCode && 40 != a.keyCode && ($("#livesearch_search_results").remove(), updown = -1, !("" == b || b.length < 3 || (b = encodeURI(b), $.ajax({
url: $("base").attr("href") + "index.php?route=product/search/ajax&keyword=" + b + "&filter_category_id=" + $('#search input[name=category_id]').val(),
dataType: "json",
success: function (a) {
if (a.length > 0) {
var c = document.createElement("ul");
c.id = "livesearch_search_results";
var d, e;
for (var f in a) {
if (d = document.createElement("li"), eListHr = document.createElement("hr"), eListDiv = document.createElement("div"), eListDiv.setAttribute("style", "height: 10px; clear: both;"), eListDivpr = document.createElement("span"), eListDivpr.innerHTML = (a[f].price) ? a[f].price : '', eListDivpr.setAttribute("style", "height: 14px; color: #147927;"), eListDivprspec = document.createElement("span"), eListDivprspec.innerHTML = a[f].special, eListDivprspec.setAttribute("style", "font-weight: bold; margin-left: 8px; color: #a70d0d; font-size: 16px;"), eListImg = document.createElement("img"), eListImg.src = a[f].image, eListImg.setAttribute("style", "margin-right: 10px;"), eListImg.align = "left", eListDivstatus = document.createElement("span"), eListDivstatus.innerHTML = a[f].stock, eListDivstatus.setAttribute("style", "height: 14px; color: #337ab7; margin-left: 15px; font-weight: bold;"), e = document.createElement("a"), e.setAttribute("style", "display: block;"), e.appendChild(document.createTextNode(a[f].name)), "undefined" != typeof a[f].href) {
"" != a[f].special && eListDivpr.setAttribute("style", "text-decoration: line-through;");
var g = decodeURIComponent(a[f].href);
e.href = g.replace('&', "&");
} else e.href = $("base").attr("href") + "index.php?route=product/product&product_id=" + a[f].product_id + "&keyword=" + b;
d.appendChild(e), c.appendChild(eListImg), c.appendChild(d), c.appendChild(eListDivpr), "" != a[f].special && c.appendChild(eListDivprspec), c.appendChild(eListDivstatus), c.appendChild(eListHr), c.appendChild(eListDiv)
}
$("#livesearch_search_results").length > 0 && $("#livesearch_search_results").remove(), $("#search").append(c), $("#livesearch_search_results").css("display", "none"), $("#livesearch_search_results").slideDown("slow"), $("#livesearch_search_results").animate({
backgroundColor: "rgba(255, 255, 255, 0.98)"
}, 2e3)
}
}
}), 0)))
}
function upDownEvent(a) {
var b = document.getElementById("livesearch_search_results");
if ($("#search").find("[name=search]").first(), b) {
var c = b.childNodes.length - 1;
if (updown != -1 && "undefined" != typeof b.childNodes[updown] && $(b.childNodes[updown]).removeClass("highlighted"), 38 == a.keyCode ? updown = updown > 0 ? --updown : updown : 40 == a.keyCode && (updown = updown < c ? ++updown : updown), updown >= 0 && updown <= c) {
$(b.childNodes[updown]).addClass("highlighted");
var d = b.childNodes[updown].childNodes[0].text;
"undefined" == typeof d && (d = b.childNodes[updown].childNodes[0].innerText), $("#search").find("[name=search]").first().val(new String(d).replace(/(\s\(.*?\))$/, ""))
}
}
return !1
}
$("#search").find("[name=search]").first().keyup(function (a) {
doLiveSearch(a, this.value)
}).focus(function (a) {
doLiveSearch(a, this.value)
}).keydown(function (a) {
upDownEvent(a)
}).blur(function () {
window.setTimeout("$('#livesearch_search_results').remove();updown=0;", 1500)
}), $(document).bind("keydown", function (a) {
try {
13 == a.keyCode && $(".highlighted").length > 0 && (document.location.href = $(".highlighted").find("a").first().attr("href"))
} catch (a) {}
});