Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: znikajace pole
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
peterlan
Witam,

mam pytanie, jak zrobic pole input, ktore bedzie znikalo np po 30 sekundach niekatywnosci?
w momencie kiedy uzytkownik nie bedzie nic wpisywal to pole tak jakby wygasnie.
markonix
setInterval żeby odliczać 30 sekund + nasłuchiwanie na owym inpucie. Jeżeli chodzi o samo wpisywanie to starczy keyup - jednak on może nie wykryć wklejonych, wybranych wartości.
  1. $('input').on('keyup change', function() {


Pytanie też czy po wpisaniu litery ma znowu odliczać 30 sekund czy już nie.
peterlan
po wpisaniu juz raczej nie smile.gif
dzieki zaraz sprawdze czy cos uda mi sie z tego wykombinowac
markonix
Jeżeli to służy jakimś ważniejszym celom a nie tylko kosmetyce (np. konkurs, jakaś blokada bezpieczeństwa) to musisz się zabezpieczyć po stronie serwera także.
peterlan
mam jeszecze jedno pytanie, a mianowicie zrobilem cos takiego:

  1. $('a.clik-suchen').click(function()
  2. {
  3. $('.d-active').addClass("a-active");
  4. {
  5. setInterval(function(){
  6. $('.d-active input').fadeOut(1000);
  7. },9000);
  8. $('.a-active').addClass("d-active");
  9. }
  10. }
  11. );


jak teraz zrobic ze po tym odliczaniu znowu wraca mi ta klasa:
  1. $('.a-active').addClass("d-active");


Moje pytania pewnie dla wielu wydaja sie smieszne, ale na codzien pracuje w photoshopie.
markonix
To co ma się stać po odliczaniu dajesz w ciele funkcji setInterval czyli tam gdzie ukrywasz tego inputa.

Ogólnie jakoś nie do końca umiem zrozumieć co tam chcesz ociągnąć. Jak po 9 sekundach o kliknięcia w link ma znikać tylko input to można to lepiej (krócej) napisać.
peterlan
chodzi mi dokladnie o to ze po wykonaniu tego:

  1. setInterval(function(){
  2. $('.d-active input').fadeOut(1000);
  3. },9000);


wykona mi sie cos takiego:
  1. $('.a-active').addClass("d-active");


  1. $('a.clik-suchen').click(function()
  2. {
  3. $('.d-active').addClass("a-active");
  4. {
  5. setInterval(function()
  6. {
  7. $('.d-active input').fadeOut(1000);
  8. $('.d-active').removeClass("a-active");
  9. },9000);
  10. }
  11. }
  12. );
  13. </script>


mam cos takiego, wszystko dziala tak jak chcialem, ale gdy raz sie wykona to juz nie dziala ponownie, co tutaj musze dopisac badz zmienic.
trueblue
  1. $('a.clik-suchen').click(function(e){
  2. e.preventDefault();
  3. if(!$('.d-active').hasClass('a-active')){
  4. $('.d-active input').show();
  5. $('.d-active').addClass("a-active");
  6. setInterval(function(){
  7. $('.d-active input').fadeOut(1000);
  8. $('.d-active').removeClass("a-active");
  9. },9000);
  10. }
  11. }
  12. );

Nie zmienia to faktu, że pisząc coś w inpucie nadal może zniknąć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.