Autor Zpráva
Milan Sobotka
Profil
Dobrý den.
Potřebuji se rychle zeptat, asi na to, co tu již bylo zodpovězeno, ale moc si s tím nevím rady. :D
Potřeboval bych akorát tento skript převést na to, že se provede po načtení stránky. (onload)

    
<script>
$(document).ready(function(){
  $(".btn1").click(function(){
    $("body").fadeOut()
  });
  $(".btn2").click(function(){
    $("body").fadeIn();
  });
});
</script>
Za odpovědi předem děkuji.
Kubo2
Profil
Milan Sobotka:
Potřeboval bych akorát tento skript převést na to, že se provede po načtení stránky. (onload)
Ale veď on sa spustí po načítaní stránky: http://api.jquery.com/ready


Ale z toho, čo píšeš, a čo napísali oni v dokumentácii k jQuery, sa dá usúdiť, že asi potrebuješ skôr metódu load() objektu jQuery:
if($)
{
    $(document).load(function(){
        // vlastný skript
    });
}
Milan Sobotka
Profil
Teď jsem tě nepochopil. :D Já právě že nevím jak to napsat. Já vím že to bude něco onload {
$(document).ready(function(){
  $(".btn1").click(function(){
    $("body").fadeOut()
  });
  $(".btn2").click(function(){
    $("body").fadeIn();
  });
});
}
ale to asi není dobře protože to po načtení neběží. :D
_es
Profil
Kubo2:
$(document).load(function(){
To asi nespraví nič, viď dokumentácia: api.jquery.com/load-event This event can be sent to any element associated with a URL: images, scripts, frames, iframes, and the window object.


Milan Sobotka:
se provede po načtení stránky.
No veď ten kód z [#1] (riadky 4 až 9) „sa po načítaní stránky prevedie“.
Milan Sobotka
Profil
Takže by to mělo vypadat takhle?
    
$( document ).ready(function() {
$(document).ready(function(){
  $(".btn1").click(function(){
    $("body").fadeOut()
  });
});
Jenže to nefunguje. :(
Kubo2
Profil
Milan Sobotka:
Takže by to mělo vypadat takhle?
Nie, správny tvar je vzhľadom na _esa a dokumentáciu práve ten kód, čo si poslal v dotaze [#1] ako ukážku.

_es:
To asi nespraví nič, viď dokumentácia: api.jquery.com/load-event This event can be sent to any element associated with a URL: images, scripts, frames, iframes, and the window object.

Trochu je v tom jQuery zmätok, pretože objekt document je tiež asociovaný s URL (viď document.location). Ale teda aby bolo po ich, tak finálne takto:

$(window).load(function(){
    // vlastný kód
});
Milan Sobotka
Profil
Omlouvám se. Pořád mi to nefunguje. Prostě už nevím. Asi si sedim na vedeni...
Kubo2
Profil
Milan Sobotka:
Asi si sedim na vedeni...
Nie, myslím že tu nejde o tvoje vedenie. Iba niečo v tom skripte máš zle. Len sa pokús nám poskytnúť trocha viac informácií o tom, čo ti nefunguje. Nemáš niekde v skripte syntaktickú chybu? Nemáš niekde logickú chybu? Čo ti vypíše ladiaca konzola? Je tento kód celý skript?
juriad
Profil
Milan Sobotka:
Ten skript, který jsi napsal pouze zaregistruje posluchače události click. Ten kód se provede hned po načtení.
Je tvým cílem postupně zobrazit obsah stránky prolnutím z bílé? A máš pro to nějaký důvod, který převáží nepohodlí uživatele:
1) zpomalí jej, musí čekat; dnešní princip je zobrazit stránku co nejrychleji,
2) zvyšuje spotřebu počítače.
_es
Profil
Kubo2:
Trochu je v tom jQuery zmätok, pretože objekt document je tiež asociovaný s URL
Nie je, s tým „asociovaním“ je to myslené tak, že sa celý obsah toho elementu načítava z nejakého URL, čo pre element document neplatí, stránka sa načítava do okna prehliadača (objekt window), alebo do iframe, či frame.

Milan Sobotka:
Pořád mi to nefunguje.
Možno, keby si napísal, čo by to malo robiť, keby to podľa teba fungovalo...
Milan Sobotka
Profil
OK. TOTO je celý kód.
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $(".btn1").click(function(){
    $("body").fadeOut()
  });
  $(".btn2").click(function(){
    $("body").fadeIn();
  });
});
</script>
</head>
<body>

<p>This is a paragraph.</p>
<button class="btn1">Fade out</button>
<button class="btn2">Fade in</button>

</body>
</html>

a potřebuji, aby místo toho tlacítka zmizela stránka po nacteni.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: