Jquery skrytí elementu – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jquery skrytí elementu – JavaScript, AJAX, jQuery – Fórum – Programujte.comJquery skrytí elementu – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Tomáš
~ Anonymní uživatel
560 příspěvků
22. 4. 2016   #1
-
0
-

Zdravím,

jsem začátečník v JS a potřebuji poradit čím může být způsobeno to, že v oknu prohlížeče je nějaký text a dole je element, text se píše po daný element pak se objeví scroller a vše funguje jak má, ale když dám tento element skrýt přes událost .hiden tak se text neposune až na konec stránky ale stále se zalamuje v místě kde byl element, ale v případě kdy změním velikost okna prohlížeče, tak vše funguje jak má.

Děkuji. 

Nahlásit jako SPAM
IP: 91.219.240.–
NeregistrovanyHookyns
~ Anonymní uživatel
62 příspěvků
1. 5. 2016   #2
-
0
-

Spíše to vypadá na CSS problém než na problém v JS. Když postneš kód, bude to lepší. :)

U .hiden ses asi překlepnul. Pokud si myslel funkci .hide(), tak ta na element pouze nastaví display: none; takže element již nemůže ničemu bránit. Pokud si ale opravdu použil nějaké hiden(), které jQuery neobsahuje, tak může obsahovat třeba visibility: hidden;, které opravdu element jen skryje, ale fyzicky jej neodstraní. Tak či tak je to věc CSS.

Nahlásit jako SPAM
IP: 195.178.73.–
peter
~ Anonymní uživatel
3981 příspěvků
2. 5. 2016   #3
-
0
-

Take si myslim, ze je to css problem. Spolehlivejsi je menit class elementu (obj.className), v classu presne vis, co mas.
Take mne napadla hned ta visibility. ale...
" ale v případě kdy změním velikost okna prohlížeče, tak vše funguje jak má"
To je docela nepredvidatelne chovani. Ted bych uvazoval spis o nejakem bugu ohledne floatu, protoze s tim zalamovanim textu bych to odhadoval na float, zase. Schvalne, dela to jiny prohlizec nez Firefox, ze? Mozna pomuze kolem obou prvku dat div z position:relative; nebo display:inline-block nastavit pro ten float prvek.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:b44e:2a...–
Tomáš
~ Anonymní uživatel
560 příspěvků
2. 5. 2016   #4
-
0
-

#3 peter
Měl jsem na mysli funkci hide omylem jsem napsal hiden. On bude problém nejspíš někde v nějakém jiném JS, protože když se podívám přes nástroj vývojáře tak se to chová, tak jak mám.
A ten text se kterým je problém, tak on se tam přidává a mizí podle toho jak se scrolluje a právě problém je v tom, že když ten prvek dám skrýt, tak se jakoby nic nezmění pro ten text a stále se zobrazuje jenom do úrovně toho prvku co je teď skrytý. V případě, kdy se změní velikost okna tak se to celé předělá a vypadá to tak jak má, což mě hlava neber. 

Problém je taky v tom, že já do celé té webové aplikace dodělávám jenom ten jeden element a ty zdrojáky nejsou vůbec nijak okomentovány a špatně se dohledává co k čemu je.   

Nahlásit jako SPAM
IP: 91.219.240.–
NeregistrovanyHookyns
~ Anonymní uživatel
62 příspěvků
2. 5. 2016   #5
-
0
-

"on se tam přidává a mizí podle toho jak se scrolluje" Tak to může být navázané na hromadu dalších scriptů a CSS na to nemusí mít v podstatě žádný vliv.

Pokud to reaguje na resize okna, tak je tam určitě nějaká übercool respo "optimalizace", která přepočítává pozice. Ten text může mít nastavený fixní height, proto se ti nerostáhne. To si můžeš jednoduše zkontrolovat přes nástroje, jaké styly na tom elementu jsou.

Nahlásit jako SPAM
IP: 77.95.192.–
Tomáš
~ Anonymní uživatel
560 příspěvků
3. 5. 2016   #6
-
0
-

#5 NeregistrovanyHookyns
Právě ve stylech jsem nic nenašel co by mohlo vadit, a i když jsem je zkoušel vypínat a zapínat tak jsem na nic zásadního nepřišel. 

Nahlásit jako SPAM
IP: 91.219.240.–
Tomáš
~ Anonymní uživatel
560 příspěvků
3. 5. 2016   #7
-
0
-

Tak nejspíše, zato, že po změně velikosti okna se vše dá do stavu jak má být může tento kus kódu:  

this.resize=function(a){this.renderer.onResize(a)
Nahlásit jako SPAM
IP: 91.219.240.–
NeregistrovanyHookyns
~ Anonymní uživatel
62 příspěvků
3. 5. 2016   #8
-
0
-

Tak i když je to spíše takový hot-fix, tak při volání .hide() můžeš zavolat ten resize(), pokud se k němu dostaneš tzn. pokud máš přístup k instanci třdy nebo k objektu, ve kterém se ta metoda nachází. Ale vážně je to spíš hot-fix než správné řešení.

Nahlásit jako SPAM
IP: 77.95.192.–
Tomáš
~ Anonymní uživatel
560 příspěvků
4. 5. 2016   #9
-
0
-

#8 NeregistrovanyHookyns
A nevíš co dělá to renderer? 

Nahlásit jako SPAM
IP: 91.219.240.–
NeregistrovanyHookyns
~ Anonymní uživatel
62 příspěvků
4. 5. 2016   #10
-
0
-

#9 Tomáš
To může být naprosto cokoliv. Vůbec tvou aplikaci neznám, nevím co je tam použité.

Ale pokud tohle ten problém řeší a jako hot-fix ti to stačí, můžeš po skrytí elementu vyvolat onResize event. Můžeš sám změnit velikost okna, např. o jeden pixel, případně to i nastavit zpět. 

http://stackoverflow.com/questions/1861109/forcing-windows-resize-to-fire

Nahlásit jako SPAM
IP: 77.95.192.–
Tomáš
~ Anonymní uživatel
560 příspěvků
4. 5. 2016   #11
-
0
-

#10 NeregistrovanyHookyns
Jsem myslel jestli to neni něco obecného. 

Jinak dík, prozatím to vyřeším hot-fix aby se to dalo používat a snad časem přijdu na pořádné řešení.

Nahlásit jako SPAM
IP: 91.219.240.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 12 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý