![]() |
Dinamicko menjanje css za pseudo klasu
Pozdrav!
Nadam se da ne smaram pitanjem koje je vec obradjeno.. Interesuje me koji je najbolji nacin za dinamicko menjanje stila za recimo a:hover? Koristim jQuery, i napravio sam to sa $('style').html('a:hover {color: #f00;}'); Radi super u svim browserima (ff, o, s, c) osim u IE (mrzim ga..). Kako to postici u IE sa jQuery-jem (ili core JS)? Hvala ;) |
Možda ovako:
Definišeš u CSS-u klasu npr. hover1 a:hover {color: #f00;} Pa onda, ako ti elementi kojima se mijenja ponašanje pri a:hover trenutno imaju npr. klasu "someClass": $(".someClass").addClass("hover1"); Imaš još i funkcije removeClass i toggleClass. |
Hvala na brzom odgovoru, ali to resenje nije u skladu sa zahtevima.
Potrebno je menjati na 100 nacina i bezbroj puta razlicite elemente (izmedju ostalih i a:hover) na stranici. Radi se profile editoru sa neki social network site. Prvo resenje koje sam uradio jeste preko $(selector).css(property,value); ali ne moze se na taj nacin menjati pseudo klasa... |
Imaš i hover funkciju u jQuery:
Kôd:
$(element).hover ( Kôd:
$(element).hover ( |
Uhh, izgleda da nisam bio jasan.
Ne treba mi menjanje klase za neki element, nego css-a (za odredjene property-je bilo koji value da se postavi). Kontrole za menjanje sam napravio, ali problem je dodeljivanje novog css-a preko <style> elementa u IE, dok u svim ostalim browserima radi odlicno. Da li postoji nacin da se pomocu jQuery-ja dinamicki menja sadrzaj ovog elementa (style u head-u)?? $('style').html() je super ali ne radi u ie... |
Pa lijepo ti govorimo, te property-je izdvojis u posebnu klasu. :)
Napravis jednu osnovnu klasu i 10 razlicitih malih klasa, svaka sa specificnim properties, i onda samo toj osnovnoj dodajes/oduzimas ove manje klase, a samim tim mijenjas i CSS atribute elementa. Vjerujem da znas, ali ne skodi nista da kazem: Element moze imati vise od jedne klase. Bre. :) |
Mislim da on to neće na ovaj način, iz nekog razloga je odlučio da dinamički piše STYLE tag, iskreno ne razumem zašto tako i koji bi razlog trebalo da postoji da se odlučim da uradim tako. Možda bih, kada bih to razumeo, mogao i da pomognem.
|
Prvo hvala na angazovanju :)
Ne znam da li ste ikada imali priliku da koristite neki profile editor, npr za myspace.. Pravim tako nesto... Treba dinamicki menjati izgled stranice i voditi "evidenciju" o izmenama. Sve sam to napravio i odlicno radi osim u ie (postajem dosadan sa ovim za ie). Ne vidim kako bi mi pomoglo da dodelim nekom elementu i sto klasa ako ta klasa nema bas onu nijansu crvene koju korisnik zeli da element ima. Zato sam prvo napravio izmenu pomocu komande (koju poziva color picker): $('a').css('color','#c00'); Ali na taj nacin nisam mogao menjati osobine pseudo klase. Pa sam otkrio da insertovanje css koda u style u zaglavlju cini sve sto mi treba. Osim sto to IE ne dozvoljava. Vase resenje bi bilo odlicno ako bih ja mogao menjati vrednosti css property-ja neke klase, npr boju koju ta klasa donosi. Ali koliko znam to nije moguce (moze da se menja ili inline css kod ili dodaje i sklanja neka klasa/e sa elementa). Tj ja sam bas to uradio tako sto uletim sa reg exp u <style> i tamo promenim css kod za klasu (tj selector). Jos jednom: menja se odredjeni element, odredjena osobina sa bilo kojom vrednoscu i bilo koji broj puta. Dok korisnik ne ubode boju kojom zeli da mu bude predstavljen link (link je jedna od 150 stvari sto se menja na stranici, ali jedino on ima pseudo klasu sto pravi problem sa menjanjem inline css koda). Nadam se da sam vam malo bolje priblizio potrebe i problem :) |
Vreme je GMT +2. Trenutno vreme je 19:40. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.