JAK

Jak do domu

Menu

Pasek ikon Ikona menu Akordeon Karty Pionowe zakładki Nagłówki kart Zakładki na całej stronie Po najechaniu na zakładki Górna nawigacja Responsywne Topnav Pasek nawigacyjny z ikonami Menu wyszukiwania Pasek wyszukiwania Naprawiono pasek boczny Nawigacja strony Responsywny pasek boczny Nawigacja na pełnym ekranie Menu poza płótnem Wskaż przyciski nawigacji bocznej Pasek boczny z ikonami Menu przewijania w poziomie Menu pionowe Nawigacja u dołu Responsywna dolna nawigacja Dolne łącza nawigacyjne Wyrównane do prawej strony menu Wyśrodkowane łącze menu Łącza menu o równej szerokości Naprawiono menu Przesuń w dół pasek na przewijaniu Ukryj pasek nawigacyjny na przewijaniu Zmniejsz pasek nawigacyjny na przewijaniu Przyklejony pasek nawigacyjny Pasek nawigacyjny na obrazie Rozwijane menu Kliknij menu rozwijane Kaskadowe menu rozwijane Rozwijane w Topnav Rozwijane w Sidenav Menu rozwijane paska nawigacyjnego Resp Menu podrzędne Dropup Mega Menu Menu mobilne Kurtyna menu Zwinięty pasek boczny Zwinięty panel boczny Paginacja Bułka tarta Grupa przycisków Pionowa grupa przycisków Przyklejony pasek społecznościowy Nawigacja po pigułkach Responsywny nagłówek

Obrazy

Pokaz slajdów Galeria pokazu slajdów Obrazy modalne Lightbox Responsywna siatka obrazu Siatka obrazu Galeria zakładek Zanikanie nakładki obrazu Slajd nakładki obrazu Powiększenie nakładki obrazu Tytuł nakładki obrazu Ikona nakładki obrazu Efekty obrazu Obraz czarno-biały Tekst obrazu Bloki tekstu obrazu Przezroczysty tekst obrazu Obraz całej strony Formularz na obrazie Obraz bohatera Rozmycie obrazu tła Zmień Bg przy przewijaniu Obrazy obok siebie Zaokrąglone obrazy Obrazy awatara Responsywne obrazy Wyśrodkuj obrazy Miniatury Obramowanie wokół obrazu Poznaj drużynę Przyklejony obraz Odwróć obraz Potrząśnij obrazem Galeria Portfolio Portfolio z filtrowaniem Powiększenie obrazu Szkło powiększające obraz Suwak porównania obrazów Favicon

guziki

Przyciski alertów Przyciski konspektu Przyciski dzielone Przyciski animowane Zanikające przyciski Przycisk na obrazie Przyciski mediów społecznościowych Czytaj więcej Czytaj mniej Przyciski ładowania Pobierz przyciski Przyciski pigułek Przycisk powiadomień Przyciski ikon Przyciski następny/poprzedni Przycisk Więcej w Nav Blokuj przyciski Przyciski tekstowe Okrągłe przyciski Przycisk przewijania do góry

Formularze

Forma loginu Formularz rejestracyjny Formularz kasy Formularz kontaktowy Formularz logowania społecznościowego Formularz rejestracyjny Formularz z ikonami Biuletyn Informacyjny Formularz ułożony Formularz responsywny Wyskakujący formularz Formularz wbudowany Wyczyść pole wejściowe Ukryj strzałki liczbowe Skopiuj tekst do schowka Animowane wyszukiwanie Przycisk wyszukiwania Wyszukiwanie na pełnym ekranie Pole wejściowe na pasku nawigacyjnym Formularz logowania w pasku nawigacyjnym Niestandardowe pole wyboru/radio Wybierz niestandardowy Przełącznik Zaznacz pole wyboru Wykryj Caps Lock Przycisk wyzwalania po wejściu Weryfikacja hasła Przełącz widoczność hasła Formularz wieloetapowy autouzupełnienie Wyłącz autouzupełnianie Wyłącz sprawdzanie pisowni Przycisk przesyłania plików Puste sprawdzanie poprawności danych wejściowych

Filtry

Lista filtrów Filtruj tabelę Filtruj elementy Menu filtrów Sortuj listę Tabela zaklęć

Stoły

Stół w paski zebry Stoły środkowe Tabela o pełnej szerokości Stoły obok siebie Responsywne tabele Tabela porównawcza

Jeszcze

Wideo na pełnym ekranie Pudełka modalne Usuń modalne Oś czasu Wskaźnik przewijania Paski postępu Pasek umiejętności Suwaki zakresu Podpowiedzi Wyświetl element Hover Wyskakujące okienka Składany Kalendarz HTML zawiera Lista rzeczy do zrobienia Ładowarki Ocena w skali gwiazdkowej Ocena użytkownika Efekt nakładki Kontakt chipy Karty Odwróć kartę Karta profilu Karta produktu Alerty Zawołać Uwagi Etykiety Kręgi Styl HR Kupon Grupa listy Lista bez punktorów Responsywny tekst Tekst wycięcia Świecący tekst Naprawiono stopkę Przyklejony element Równa wysokość Clearfix Responsywne pływaki Batonik Okno pełnoekranowe Przewiń rysunek Płynne przewijanie Gradient Bg Scroll Przyklejony nagłówek Zmniejsz nagłówek na przewijaniu Tabela cen Paralaksa Współczynnik proporcji Responsywne ramki iframe Przełącz Lubię/Nie lubię Przełącz Ukryj/Pokaż Przełącz tryb ciemny Przełącz tekst Przełącz klasę Dodaj klasę Usuń klasę Aktywna klasa Widok drzewa Usuń właściwość Wykrywanie offline Znajdź ukryty element Przekieruj stronę internetową Powiększ najechanie Odwróć pudełko Wyśrodkuj w pionie Środkowy przycisk w DIV Przejście na Hover Strzałki Kształty Link do pobrania Element o pełnej wysokości Okno przeglądarki Niestandardowy pasek przewijania Ukryj pasek przewijania Pokaż/Wymuś pasek przewijania Wygląd urządzenia Ramka do edycji treści Kolor zastępczy Kolor zaznaczenia tekstu Kolor pocisku Pionowa linia Dzielniki Animuj ikony Odliczanie czasu Maszyna do pisania Już wkrótce Strona Wiadomości na czacie Wyskakujące okno czatu Podzielony ekran Referencje Licznik sekcji Pokaz slajdów z cytatami Zamykane pozycje listy Typowe punkty przerwania urządzenia Przeciągany element HTML Zapytania o media JS Podświetlanie składni Animacje JS Długość łańcucha JS Potęgowanie JS Parametry domyślne JS Uzyskaj aktualny adres URL Uzyskaj aktualny rozmiar ekranu Pobierz elementy iframe

Stronie internetowej

Utwórz darmową stronę internetową Stwórz stronę internetową Stwórz statyczną stronę internetową Stwórz stronę internetową (W3.CSS) Stwórz stronę internetową (BS3) Stwórz stronę internetową (BS4) Stwórz stronę internetową (BS5) Utwórz i przeglądaj stronę internetową Utwórz witrynę z drzewem linków Utwórz portfel Utwórz CV Stwórz stronę internetową restauracji Stwórz stronę biznesową Stwórz książkę internetową Strona internetowa centrum Sekcja kontaktowa O stronie Duży nagłówek Przykładowa strona internetowa

Krata

Układ 2 kolumn Układ 3 kolumn Układ 4 kolumn Rozszerzanie siatki Widok siatki listy Mieszany układ kolumn Karty kolumn Układ Zig Zag Układ bloga

Google

Wykresy Google Czcionki Google Parowanie czcionek Google Konfiguracja Google Analytics

Konwertery

Przelicz wagę Konwertuj temperaturę Konwertuj długość Konwertuj prędkość

Blog

Uzyskaj pracę programisty Zostań deweloperem front-endu.

Jak TO - Autouzupełnianie


Dowiedz się, jak utworzyć autouzupełnianie.


autouzupełnienie

Zacznij pisać:



Utwórz formularz autouzupełniania

Krok 1) Dodaj kod HTML:

Przykład

<!--Make sure the form has the autocomplete function switched off:-->
<form autocomplete="off" action="/action_page.php">
  <div class="autocomplete" style="width:300px;">
    <input id="myInput" type="text" name="myCountry" placeholder="Country">
  </div>
  <input type="submit">
</form>

Krok 2) Utwórz tablicę JavaScript:

Przykład

Tablica wszystkich krajów na świecie:

var countries = ["Afghanistan","Albania","Algeria","Andorra","Angola","Anguilla","Antigua &amp; Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia &amp; Herzegovina","Botswana","Brazil","British Virgin Islands","Brunei","Bulgaria","Burkina Faso","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Cayman Islands","Central Arfrican Republic","Chad","Chile","China","Colombia","Congo","Cook Islands","Costa Rica","Cote D Ivoire","Croatia","Cuba","Curacao","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Falkland Islands","Faroe Islands","Fiji","Finland","France","French Polynesia","French West Indies","Gabon","Gambia","Georgia","Germany","Ghana","Gibraltar","Greece","Greenland","Grenada","Guam","Guatemala","Guernsey","Guinea","Guinea Bissau","Guyana","Haiti","Honduras","Hong Kong","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland","Isle of Man","Israel","Italy","Jamaica","Japan","Jersey","Jordan","Kazakhstan","Kenya","Kiribati","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macau","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Montserrat","Morocco","Mozambique","Myanmar","Namibia","Nauro","Nepal","Netherlands","Netherlands Antilles","New Caledonia","New Zealand","Nicaragua","Niger","Nigeria","North Korea","Norway","Oman","Pakistan","Palau","Palestine","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Puerto Rico","Qatar","Reunion","Romania","Russia","Rwanda","Saint Pierre &amp; Miquelon","Samoa","San Marino","Sao Tome and Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Korea","South Sudan","Spain","Sri Lanka","St Kitts &amp; Nevis","St Lucia","St Vincent","Sudan","Suriname","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Timor L'Este","Togo","Tonga","Trinidad &amp; Tobago","Tunisia","Turkey","Turkmenistan","Turks &amp; Caicos","Tuvalu","Uganda","Ukraine","United Arab Emirates","United Kingdom","United States of America","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Virgin Islands (US)","Yemen","Zambia","Zimbabwe"];

Krok 3) Dodaj CSS:

Kontener musi mieć „względne” pozycjonowanie.

Przykład

* { box-sizing: border-box; }
body {
  font: 16px Arial;
}
.autocomplete {
  /*the container must be positioned relative:*/
  position: relative;
  display: inline-block;
}
input {
  border: 1px solid transparent;
  background-color: #f1f1f1;
  padding: 10px;
  font-size: 16px;
}
input[type=text] {
  background-color: #f1f1f1;
  width: 100%;
}
input[type=submit] {
  background-color: DodgerBlue;
  color: #fff;
}
.autocomplete-items {
  position: absolute;
  border: 1px solid #d4d4d4;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  /*position the autocomplete items to be the same width as the container:*/
  top: 100%;
  left: 0;
  right: 0;
}
.autocomplete-items div {
  padding: 10px;
  cursor: pointer;
  background-color: #fff;
  border-bottom: 1px solid #d4d4d4;
}
.autocomplete-items div:hover {
  /*when hovering an item:*/
  background-color: #e9e9e9;
}
.autocomplete-active {
  /*when navigating through the items using the arrow keys:*/
  background-color: DodgerBlue !important;
  color: #ffffff;
}


Krok 4) Dodaj JavaScript:

Przykład

function autocomplete(inp, arr) {
  /*the autocomplete function takes two arguments,
  the text field element and an array of possible autocompleted values:*/
  var currentFocus;
  /*execute a function when someone writes in the text field:*/
  inp.addEventListener("input", function(e) {
      var a, b, i, val = this.value;
      /*close any already open lists of autocompleted values*/
      closeAllLists();
      if (!val) { return false;}
      currentFocus = -1;
      /*create a DIV element that will contain the items (values):*/
      a = document.createElement("DIV");
      a.setAttribute("id", this.id + "autocomplete-list");
      a.setAttribute("class", "autocomplete-items");
      /*append the DIV element as a child of the autocomplete container:*/
      this.parentNode.appendChild(a);
      /*for each item in the array...*/
      for (i = 0; i < arr.length; i++) {
        /*check if the item starts with the same letters as the text field value:*/
        if (arr[i].substr(0, val.length).toUpperCase() == val.toUpperCase()) {
          /*create a DIV element for each matching element:*/
          b = document.createElement("DIV");
          /*make the matching letters bold:*/
          b.innerHTML = "<strong>" + arr[i].substr(0, val.length) + "</strong>";
          b.innerHTML += arr[i].substr(val.length);
          /*insert a input field that will hold the current array item's value:*/
          b.innerHTML += "<input type='hidden' value='" + arr[i] + "'>";
          /*execute a function when someone clicks on the item value (DIV element):*/
              b.addEventListener("click", function(e) {
              /*insert the value for the autocomplete text field:*/
              inp.value = this.getElementsByTagName("input")[0].value;
              /*close the list of autocompleted values,
              (or any other open lists of autocompleted values:*/
              closeAllLists();
          });
          a.appendChild(b);
        }
      }
  });
  /*execute a function presses a key on the keyboard:*/
  inp.addEventListener("keydown", function(e) {
      var x = document.getElementById(this.id + "autocomplete-list");
      if (x) x = x.getElementsByTagName("div");
      if (e.keyCode == 40) {
        /*If the arrow DOWN key is pressed,
        increase the currentFocus variable:*/
        currentFocus++;
        /*and and make the current item more visible:*/
        addActive(x);
      } else if (e.keyCode == 38) { //up
        /*If the arrow UP key is pressed,
        decrease the currentFocus variable:*/
        currentFocus--;
        /*and and make the current item more visible:*/
        addActive(x);
      } else if (e.keyCode == 13) {
        /*If the ENTER key is pressed, prevent the form from being submitted,*/
        e.preventDefault();
        if (currentFocus > -1) {
          /*and simulate a click on the "active" item:*/
          if (x) x[currentFocus].click();
        }
      }
  });
  function addActive(x) {
    /*a function to classify an item as "active":*/
    if (!x) return false;
    /*start by removing the "active" class on all items:*/
    removeActive(x);
    if (currentFocus >= x.length) currentFocus = 0;
    if (currentFocus < 0) currentFocus = (x.length - 1);
    /*add class "autocomplete-active":*/
    x[currentFocus].classList.add("autocomplete-active");
  }
  function removeActive(x) {
    /*a function to remove the "active" class from all autocomplete items:*/
    for (var i = 0; i < x.length; i++) {
      x[i].classList.remove("autocomplete-active");
    }
  }
  function closeAllLists(elmnt) {
    /*close all autocomplete lists in the document,
    except the one passed as an argument:*/
    var x = document.getElementsByClassName("autocomplete-items");
    for (var i = 0; i < x.length; i++) {
      if (elmnt != x[i] && elmnt != inp) {
      x[i].parentNode.removeChild(x[i]);
    }
  }
}
/*execute a function when someone clicks in the document:*/
document.addEventListener("click", function (e) {
    closeAllLists(e.target);
});
}

Krok 5) Zainicjuj efekt autouzupełniania w „myInput”:

Przykład

Przekaż tablicę krajów jako drugi parametr funkcji autouzupełniania:

<script>
autocomplete(document.getElementById("myInput"), countries);
</script>