| Autor | Zpráva | ||
|---|---|---|---|
| pospyrus Profil * |
#1 · Zasláno: 16. 2. 2011, 22:53:08
Dobrý den,
chtěl bych se zeptat, kam se píší funkce v jQuery: mám stránku, tam mám vloženy 2 svoje externí js a v tom druhym nemůžu používat fce. z toho prvního. Nevíte co s tím? Děkuji |
||
| _es Profil |
#2 · Zasláno: 17. 2. 2011, 00:12:43
pospyrus:
„kam se píší funkce v jQuery“ Čo myslíš „funkciou v jQuery“? |
||
| Chamurappi Profil |
#3 · Zasláno: 17. 2. 2011, 01:08:25
Reaguji na pospyra:
Je to jen javascriptový framework (respektive jedna nabobtnalá funkce), nikoliv jazyk. Funkce v JavaScriptu se píšou v JavaScriptu. „mám vloženy 2 svoje externí js a v tom druhym nemůžu používat fce. z toho prvního“ Buď ten první ve skutečnosti vložený nemáš, nebo v něm ta funkce není globálně přístupná (pokud jsi ji třeba napsal dovnitř jiné funkce), nebo je v ní syntaktická chyba, nebo je chyba v něčem úplně jiném. Bez ukázky nemá cenu hádat. |
||
| Pospyrus Profil |
#4 · Zasláno: 17. 2. 2011, 09:25:11
Oba tam jsou vloženy, z obou se vykonávají všechny js funkce, ale z toho druhyho nemůžu zavolt funkce z toho prvního:
1. Externí js $(document).ready(function() {
function funkce1() {kód}
function funkce2() {kód}
function funkce3() {kód}
function funkce4() {kód}
//volání funkcí a další jQuery kód
})2. Externí js $(document).ready(function() {
function funkce6() {kód}
function funkce7() {kód}
function funkce8() {kód}
function funkce9() {kód}
$("#neco").click(function() {kód})
funkce1() //nic to neudělá, maximálně zasekne průběh kódu, protože ji nemůže najít
})když dám funkce mimo $(document).ready(function() {}), tak to nejde spustit uvnitř... Jo, a ještě by mě zajímalo, k čemu slouží $(function() {})? |
||
| _es Profil |
#5 · Zasláno: 17. 2. 2011, 11:18:12
Pospyrus:
Nauč sa najprv základy, teda čo sú funkcie, vnorené funkcie, lokálne a globálne premenné. funkce1 je lokálna premenná anonymnej funkcie a odkazuje na vnorenú funkciu tej funkcie.
„k čemu slouží $(function() {})?“ Viď: http://api.jquery.com/jQuery/#jQuery3 |
||
| Pospyrus Profil |
#6 · Zasláno: 17. 2. 2011, 13:41:06
tak kam to mám teda napsat tu funkci, aby to šlo spustit všude?
|
||
| _es Profil |
#7 · Zasláno: 17. 2. 2011, 14:03:08
Pospyrus:
„tak kam to mám teda napsat tu funkci, aby to šlo spustit všude?“ Nájdi si, ako sa používajú globálne funkcie a premenné v JavaScripte. |
||
| Pospyrus Profil |
#8 · Zasláno: 17. 2. 2011, 14:27:31
takže něco takovyho?
var funkce = function () {
alert("pokus")
};
new funkce(); |
||
| Chamurappi Profil |
#9 · Zasláno: 17. 2. 2011, 14:32:20
Reaguji na Pospyra:
Ne. Což takhle si nastudovat základy místo tohohle střílení náhodně nalezených kousků kódu? |
||
| Pospyrus Profil |
#10 · Zasláno: 17. 2. 2011, 14:46:46
Podle tohoto: vysvětlení usuzuji, že když je proměnná vytvořená mimo funkci, tak je dostupná všude a když ve funkci, tak je dostupná pouze ní. Usuzuji, že s funkcema to bude podobné a tím pádem: když bude funkce mimo jakoukoli jinou funkci, tak bude dostupná všude, ne? Ale z jQuery zavolat nejde...
|
||
| Pospyrus Profil |
#11 · Zasláno: 17. 2. 2011, 15:04:09
aha, už to chápu, když jsem zkoušel vyhodit mimo, tak ty proměnny jsem nechal tam a ono to došlo k neexistující roměnné a zaseklo se...
takže teď musim všechny ty funkce a proměnny přepsat a hodit je mimo $(document).ready() diky moc |
||
| Witiko Profil |
#12 · Zasláno: 17. 2. 2011, 16:18:57
Pospyrus:
Poměrně správný úsudek. Proměnné, anonymní funkce a poměrně nespolehlivě i first-class funkce jsou dostupné pouze ve kontextu v němž byly vytvořeny a veškerých jeho vnořených kontextech.
var a;
var b = function() {
a = function() {
b = "Hello world!";
}
}
b();
a();
alert(b); // Hello world!
|
||
|
Časová prodleva: 15 let
|
|||
0