Autor | Zpráva | ||
---|---|---|---|
mylan Profil |
#1 · Zasláno: 3. 4. 2005, 12:36:10
Zdar. Chcel by som sa opýtať, či sa dá nejako zaistiť, aby sa mi veľkosť písma zväčšovala/zmenšovala len v určitom DIVe tak aby sa to dalo rovno meniť na stránkach, napr: boli by tam znamienka + a - a po kliknutí na plus by sa zväčšilo písmo v DIVe obsah a ostatné(menu, patička,...) by zostali nezmenené. Dá sa to nejako urobiť?
Vopred ďakujem za odpovede. |
||
Anonymní Profil * |
#2 · Zasláno: 3. 4. 2005, 12:47:08
Dá. Pro ten div si zavedeš nějaké id. Pomocí javascriptu mu pak při události onclick na ta znaménka + a - budeš měnit font-size.
|
||
habendorf Profil |
#3 · Zasláno: 3. 4. 2005, 12:48:02
Sorry, zapomněl jsem se přihlásit.
|
||
mylan Profil |
#4 · Zasláno: 3. 4. 2005, 13:34:27
Ak môžem poprosit, nešlo by to aj konkrétnejšie ako to napísat. Javaskript velmi neviem, skusal som aj teraz nieco, ale vysli mi len bludy :-\ Dakujem vopred...
|
||
habendorf Profil |
#5 · Zasláno: 3. 4. 2005, 13:56:09
Tak tady to máš.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> Ve stylu je nastavena výchozí velikost textu na 1em. Pokud si to budeš měnit, musíš ji změnit i v prvním řádku toho skriptu. Krokování je nastaveno po 0.1em, to si můžeš změnit uvnitř té funkce. Ještě to chce dopsat jednu podmínku,a to sice: pokud budeš zmenšovat tak dlouho, až by tam vznikla záporná velikost, tak to zařve. To je ještě potřeba ošetřit, zkus to sám, ať se pocvičíš. Kdyby ti to nešlo, ozvi se. |
||
Fred Profil |
#6 · Zasláno: 3. 4. 2005, 14:23:47
Byl jsem pomalejší a dospěl jsem k tomu samému :-) . Kdyby jsi to chtěl jen pro IE, tak se dá taky využít nestandardní css vlastnost zoom a pomocí ní můžeš pak v IE zoomovat jako v Opeře, kdysi jsem si na to udělal bookmarklet http://abrakadabra.nazory.cz/ie-font-size-bookmarklet.php
|
||
mylan Profil |
#7 · Zasláno: 3. 4. 2005, 14:44:18
Strašne ti dakujem, velmi pomohol si mi. Išiel som na to celkom dobre :), až na to, že toto: document.getElementById('nevolte-socany').style.fontSize=size +'em'; som si ešte definoval, ale nevedel som už určit tie podmienky a ešte som mal udané písmo v % a to mi nešlo.
Inak popravde to písmo sa nedá zmenšiť do zápornej hodnoty, aspoň som to teraz skušal vo firefoxe aj v IE a obaja sa zastavia na 0.1em. Fred: dik, ale asi bude lepšie riešenie od habendorfa, funguje predsa len vo všetkých prehliadačoch. |
||
habendorf Profil |
#8 · Zasláno: 3. 4. 2005, 14:56:19
Inak popravde to písmo sa nedá zmenšiť do zápornej hodnoty, aspoň som to teraz skušal vo firefoxe aj v IE a obaja sa zastavia na 0.1em.
To je divný, já jsem to zkoušel (v IE) a vyhodilo mi to chybu skriptu, konkrétně "Chyba: neplatný argument". Zjistil jsem ještě zajímavou věc, když jsem si nechal alertovat proměnnou size: postupně 1, 1.1, 1.2000001 a ešte som mal udané písmo v % a to mi nešlo Nezkoušel jsem, ale myslím že by s procenty neměl být problém, mělo by to chodit taky. Muselo by tam být #nevolte-socany {font-size:100%;} size = 100; if (kam == 'nahoru') size=size+10; else size=size-10; document.getElementById('nevolte-socany').style.fontSize=size +'%'; |
||
mylan Profil |
#9 · Zasláno: 3. 4. 2005, 15:04:50 · Upravil/a: mylan
no tie percenta som mal nastavene na 90 a samozrejme aj všetko, čo som mal prepísat, tak som prepísal... Ale to je jedno, v em to ide teraz v pohode.
Neviem prečo mne to nevyhodi chybu. Ako to mám potom ošetrit napr aj proti príliš velkému zväčšeniu písma? |
||
habendorf Profil |
#10 · Zasláno: 3. 4. 2005, 21:01:00 · Upravil/a: habendorf
Takže tady to máš i s tím ošetřením min a max. Schválně jsem to zkusil v % a chodí to v pohodě.
<style> |
||
mylan Profil |
#11 · Zasláno: 3. 4. 2005, 22:01:59
Neviem ako ti mám ani podakovat.... Super! Velmi pekne dakujem.
|
||
Honza Hučín Profil |
#12 · Zasláno: 4. 4. 2005, 12:41:10
Kromě řešení pomocí JS je možné samozřejmě mít velikost písma danou nějakým parametrem a při generování stránky podle hodnoty parametru velikost zvolit. Ovšem je to těžkopádné - vyžaduje nové sestavení stránky na serveru. V tomto případě je podle mě použití JS vhodnější.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0