Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Náš Lopuch Vám
vytře zrak

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub JavaScript [ŽP: neomezená] (kategorie Programování) moderuje Šéf Lopuchu.
Archiv
- http://al3x.3web.cz/js/ - najdete zde zaklady javascriptu je tam i docela dobre vysvetleny cookies
- specifikace ECMAScriptu - standard založený na JavaScriptu a JScriptu.
Download Opera
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: imwuzij
[ 398 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
bighead BIGHead Pořádáte akci, vyzkoušejte - naše moderátory 6.12.2011 08:49  643
Tak jsem se nakonec dokopal k funkčnímu řešení, dle mých představ.

$(document).ready(function(){
$("input").focus(function() {
$('div.x').removeClass('active');
$('div.y').removeClass('active');
$('div.z').removeClass('active');
$(this).parent().parent().parent().addClass("active")
$(this).closest("div").addClass("active")
});
});


Určitě budu rád za korekci. Hlavně ta pasáž "remove" mi přijde, že by mohla jít lépe.
bighead BIGHead Pořádáte akci, vyzkoušejte - naše moderátory 2.12.2011 14:54  642
A ještě teda ani to přidávání nefunguje tak jak bych si představoval. :( Tu třídu active tam přidá až při druhém kliknutí na ten radio button. :/
Co se s tím dá dělat?
bighead BIGHead Pořádáte akci, vyzkoušejte - naše moderátory 2.12.2011 14:15  641
A jak by k tomu ještě vypadal řádek, který tu třídu odebere, pokud kliknu na jiný radio button? protože momentálně mi to tam tu třídu nechává a postupně ji přidává podle toho jak klikám...
johny_g Johny_G - Relaxační terapie pro lopušáky ZDARMA! 1.12.2011 15:55  640
No jasně, parent je jen přímý rodič.
bighead BIGHead Pořádáte akci, vyzkoušejte - naše moderátory 1.12.2011 13:16  639
Aha, takže kolik parentu přidám o tolik úrovní se posunu? Já jsem se snažil pořád do té zavorky psát označení té třídy...

Díky vyzkouším.
huh huh 1.12.2011 12:53  638
$(this).parent().parent().parent().addClass("active") ?
$(this).closest("div.a").addClass("active") ?
bighead BIGHead Pořádáte akci, vyzkoušejte - naše moderátory 1.12.2011 08:16  637
Nikdo nic?
bighead BIGHead Pořádáte akci, vyzkoušejte - naše moderátory 29.11.2011 16:29  636
Mám tenhle funkční kód:
$(document).ready(function(){
$("input").focus(function() {
$(this).parent().addClass("active")
});
});


Který mi zajišťuje, že pokud označím input, tak nadřazenému prvku (label) přidá class active.
Jenže já bych potřeboval tu třídu přidat nadřazenému prvku o dvě úrovně výš.

Mám tuto strukturu:

<div class="a">
<div id="b" class="form-item">
<label class="option" for="edit">
<input id="edit" class="form-radio" type="radio" value="1" name="edit">
Text
</label>
</div>
</div>


A pokud je tento input zatžený, tak bych potřeboval tu active třídu dostat do div class "a"
david11 David11 - Bilbo..and the mouse police never sleeps 26.5.2011 10:43  635
... a ještě jsem teď přišel na to, že co se týče té nemožnosti zavolat při události body resize v kódu reload, se vymyká (z prohlížečů, které jsem testoval) pouze FireFox. Zafunguje to jak v MS Exploreru, tak v Google Chrome a i v Opeře. Nevíte někdo proč to ve FF nejde? Resp. jak tam v tom kódu ten reload vynutit???
david11 David11 - Bilbo..and the mouse police never sleeps 26.5.2011 10:29  634
huh [631] Díky, vyzkouším to v nějakém tom vyšším IE.

Teď jsem ale přišel na to, že ten prapůvodní problém [614] mi ve FireFoxu částečně přetrvává i po té radě od huh [618]. Protože já potřebuji, když vypisuji ten TESTOVACI_RETEZEC, v tom řetězci zareagovat na změnu velikosti okna (tzn. jako bych v tom testovacím příkladě potřeboval místo stringu TESTOVACI_RETEZEC vypsat aktuální velikost okna). Tzn. po té radě [618] mě tam ten řetězec sice nezmizí, ale nemám šanci ho tam zaktualizovat (zaktualizuje se až když vynutím znovunačtení stránky např. kliknutím na tlačítko reload v prohlížeči). Tzn. mám zcela stejný problém jako předtím: v IE mi ten reload (jeho zavolání v kódu) zafunguje a je vše OK, v FF (v kódu) nezafunguje a řetězec se tedy kódem nezaktualizuje.
Řekl bych, že pes je přece jen zakopán v tom, že nemohu při události body onresize po překreslení bitmapy v jiném rozlišení (pomocí toho innerHTML) zavolat vykreslení textu (pomocí write). Proč to nejde? Resp. nevíte někdo jak to nakódovat, aby to šlo? Díky.
huh huh 25.5.2011 12:45  631
position:fixed by v IE 7 a vejš mělo ve standardním módu fungovat; takže stačí správnej doctype
david11 David11 - Bilbo..and the mouse police never sleeps 25.5.2011 12:40  630
To se týká jen IE6? Nějaký průkaznější test jsem nedělal, ale ten samý kód s ošetřením pro IE (bez specifikace verze) se mi chová stejně v IE6 i v IE8. Čili to bych se pak musel "vytento" na všechny IE, nebo se mýlím?
Nebo to if(navigator.appName == "Microsoft Internet Explorer") vraci true jen pro IE6???
tvx tvx Myslet si, že svět je JEN takový, jak - ho v daný čas můžeme pochopit je hloupé. 25.5.2011 12:10  629
ja bych se na ie6 vytento...
huh huh 24.5.2011 16:56  628
David11 [627]: ja bych se na veskerej JS vybod a pokud nutne chces fixed i v IE 6 tak bych pouzil todle.
david11 David11 - Bilbo..and the mouse police never sleeps 24.5.2011 16:03  627
Jo, máš pravdu, že "kvůli lidem jako jsem já" ; - ) - já jsem to totiž opral ze stránek Jak psát web. Kdyby to tam bylo vyřešeno líp, opral bych to líp : - )
Nicméně teď mi došlo, proč v tom kódu, který jsem opral, je to if(document.all). Jestli to dobře chápu, je to to samé jako bych tam napsal if (navigator.appName == "Microsoft Internet Explorer").
Aha. Tak jsem ještě před odesláním toho příspěvku trochu zapátral na Jak psát web a zjistil jsem, že tam autor dokonce doporučuje "v praxi" používat to if (document.all) místo toho if (navigator.appName == "Microsoft Internet Explorer") (viz http://www.jakpsatweb.cz/javascript/objekt-window.html#navigator). Co si o tom myslíš? On tam i píše, že ten document.all zná i Opera, ale Opera, jak jsem vyzkoušel, nepotřebuje k tomu fixování pouštět tu funkci testFix (resp. fixujTlacitka), tak se mi jeví jako (minimálně v tomto případě) lepší použít to if (navigator.appName == "Microsoft Internet Explorer"), protože jediný, kdo ji vyžaduje pustit, aby to zafungovalo, je IE. Máte s tímhle někdo zkušenost, nebo to vidíte tak, že "slušný programátor se do nějakých takovýchhle konstrukcí vůbec nepouští"? ; - )

[ 398 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt