Kontakty

Účinok striedavého prúdenia farieb. Hladká zmena farby pozadia jQuery hladká zmena farby

Myšlienka je mimoriadne jednoduchá a zrozumiteľná ... Predpokladajme, že chceme zmeniť farbu pozadia stránky pri rolovaní každého 500px zhora. Nanešťastie, nájsť pripravenú jednoduchú verziu, ktorá sa dala modernizovať, zistil. Preto spolu s @only_Darkangel bol napísaný základná verzia:

Najprv pripojte knižnicu v hlave, ak ešte nie sú pripojené

Potom pár riadkov štýlov

Ďalej, skript, ktorý zmení farbu stránky pri rolovaní.
Digit 400 Nastaví rýchlosť zmeny farby (0,4 sekundy). V dolnej časti čísla 451 Nastaví čas na kontrolu polohy rolovania, toto číslo by malo byť vždy dlhšie ako čas rýchlosti farieb.

Damo. Skriptové práce. Ako vidíme všetko je mimoriadne jednoduché a zrozumiteľné, ale zároveň primitívne.

Tiež som našiel možnosť krajšie, ale aj zložité http://jsfiddle.net/jguffey/mxkx9j2O/ Môže tiež prísť šikovný.

Uveďte otázky v komentároch, zdieľajte článok v SOC. Siete Kliknutím na príslušné tlačidlo nižšie 🙂 Ďakujeme Vám za čítanie!

Keď kliknete na položku, na ktorú potrebujete zmeniť farbu textu z tejto vrstvy, existuje vrstva s textom a tlačidlom.

Zmeniť farbu (jQuery)

Ale tak, že pochopíte, odkiaľ pochádza, odkiaľ prezentácia ľudí, viniť potešenie a chválu utrpenie, zverejním celý obraz pred vami a objasňuje, čo táto osoba, ktorá objavila pravdu, ktorú by som zavolal architekti šťastného život. Vskutku, nikto neodmietne, nevyhŕňa, nevyhne sa radosti len preto, že je to potešenie, ale len preto, že tí, ktorí nevedia, ako múdro dopriať v potešení, chápajú veľké utrpenie. Rovnako ako neexistuje nikto, kto by miloval, radšej a by čeliť samotnej utrpeniu len za to, že trpí, a nie preto, že inokedy také okolnosti vznikajú, keď utrpenie a bolesť prinášajú nejaké a značné potešenie. Ak využijete najjednoduchší príklad, potom, kto z nás by urobil akýkoľvek druh fyzického cvičenia, ak by s nimi neponesi nejakú výhodu? A kto by mohol byť v spravodlivosti, aby ste sa ocitli na potešenie, ktoré by s nimi nemalo žiadne problémy, alebo kto by využil takéto utrpenie, ktoré by s ním neprinieslo žiadne potešenie?



Nejako, čelil potrebe napísať účinok tečieho textu z jednej farby do druhého, zrazu zistil, že to nie je taká triviálna úloha.

Môžete zanechať len kliešť Účinky. Je to tento modul, ktorý rozširuje metódu jQuery.aNITE (), ktorú potrebujete, stačí pripojiť stiahnutú zostavu:

Po tom, farba textu, rámu alebo pozadia akéhokoľvek prvku stránky je k dispozícii pre animáciu.

Krok 2. Oneskorenie medzi animáciou prvkov.

Teraz, keď je všetko v poriadku s animáciou, je tu druhá funkcia komplikujúca úlohu - vykonať oneskorenie medzi animáciou prvkov zbierky.

Predpokladajme, že máme zbierku položiek číslovaného zoznamu:

Var $ prvky \u003d $ ("ol\u003e li");

Animácia každého z nasledujúceho prvku zberu by mala začať s určitým oneskorením po predchádzajúcej.

Požadovaný výsledok môžete dosiahnuť pomocou nasledujúceho kódu:

Pre (var i \u003d 0; ja

Všimnite si, že v seasimeout () prvý parameter prenáša funkciou, ktorá vráti inú funkciu.

Ak sa to nerobí, premenná budem prenášať odkazom a keď príde čas vykonania funkcie časovača, budem mať svoju najnovšiu hodnotu rovnú $ prvkov.Length, pretože v tomto čase pre cyklus pre Will Aj koniec a animácia nebude splnená vôbec.

Pomocou vnorenej funkcie sme tak kopírovali hodnotu I na každej iterácii cyklu, s ktorým dosahujeme správnu činnosť určeného.

závery

Takáto animácia môžete napríklad použiť, aby ste ukázali, že v niektorom zozname možností potrebujete vybrať aspoň jeden alebo jednoducho pritiahnuť pozornosť na niektoré stránky stránky.

Existuje spôsob, ako si vybrať / manipulovať s CSS pseudo-prvky, ako napríklad :: pred a :: po (a starej verzii s jedným bodkočiarkou) pomocou jQuery?

Môj štýl má napríklad nasledujúce pravidlo:

Span :: Interter (obsah: "foo")

Ako môžem zmeniť "foo" na "bar" pomocou jQuery?

Môžete tiež preniesť obsah atribútu pseudo-element údajov a potom použiť jQuery na správu tejto:

Foo.

$ ("Span"). Hover (funkcia () () () .attr ("obsah údajov", "bar"););

Span: APTTT: ATT (ATTOR-OBSAH) "AKÉKOĽVEK INÉ TEXTY, KTORÉ MÔŽETE";)

Ak chcete zobraziť "iný text", mohli by ste ho kombinovať s riešením SetupGA nasledovne:

Foo.

$ ("Span"). Hover (funkcia () ($ (this) .addclass ("zmena"). ATT (ďalej len "obsah údajov", "bar");););

Span.Zmeniť: ATTTT: ATTS (DATA-OBSAH) "AKÉKOĽVEK INÉ TEXTY, KTORÉ MÔŽETE CHCETE";)

Je nepraktické, pretože som ho nepísal na použitie v reálnom svete, len aby som vám dal príklad toho, čo možno dosiahnuť.

CSS \u003d (predtým: Funkcia (ELEM, ATT) (ak ($ \u200b\u200b(# cust_style ")! \u003d\u003d Undefined) ($ (" BODY "). APPEND ("");) Inak ($ \u200b\u200b(" # # cust_style "). Odstrániť (); $ (" telo "). Pripojiť (""));), Po: Funkcia (ELEM, ATT) (IF ($ (" # CUST_STYLE ")! \u003d\u003d Undefined) ($ (" BODY "). APPEND ("");) Inak ($ \u200b\u200b(" # # cust_style "). Odstrániť (); $ (" telo "). Pripojiť (""); } } }

toto pridanie aktuálne pridáva prvok alebo pridáva štýlový prvok, ktorý obsahuje požadovaný atribút, ktorý ovplyvní cieľový prvok po prvom pseudo.

môže sa použiť ako

Css.fter ("somelement", "obsah:" test "; pozícia:" absolútne ";") // editácia / pridanie štýlov na: po

Css.before (...); // ovplyvniť prvok pred pseudo.

ako potom: A pred: Pseudo-prvky nie sú k dispozícii priamo cez DOM, nie je možné slobodne upravovať špecifické hodnoty CSS.

moja cesta bola len príkladom, a to nie je veľmi dobré pre prax, môžete ho zmeniť, vyskúšať niektoré z vašich vlastných trikov a urobiť to správne na použitie v reálnom svete.

Takže si vlastné experimenty s týmto a inými!

víta - Aarsh Hedde.

Ďakujem všetkým! Podarilo sa mi to, čo som chcel: D http://jsfiddle.net/tfc9j/42/ Pozrite sa tu

chcel som mať nepriehľadnosť externého div, aby som sa líšila od nepriehľadnosti vnútorného div a tejto zmeny kliknutím niekde inde;) Ďakujem!

$ ("# Ena"). Zapnuté ("Kliknite na tlačidlo", funkciu () ($ ("HEAD"). APPEND ("");); $ (" # # DUOP "). Zapnuté (" Kliknite na tlačidlo ", funkciu (E) ($ (" HEAD "). APPEND (""); E.stoppropagation ();); #ena (šírka: 300px; výška: 300px; Border: 1px čierna pevná látka; poloha: relatívna;) #duo (opacita: 1; pozícia: absolútna; TOP: 50PX; Šírka : 300px; výška: 100px; na pozadí - farba: biela;) #ena: predtým: Farba: biela, kurzor: ukazovateľ; pozícia: absolútna; pozadia - farba: červená; opacita: 0,9; šírka: 100%; výška: 100% ;)

duoyyyyyyyyyyyy P.

Môžete vytvoriť falošný majetok alebo použiť existujúce a zdediť ho v tabuľke pseudo-prvok štýlov.

varted \u003d false; // Zapnutie prepínania farieb (funkcia (funkcia) (color Color Color \u003d Switted? "Red": "Darkred"; VAR Element \u003d Document.getElementById ("šípka"); element.style.backgroundcolor \u003d farba; // riadenie pseudo-prvok "S CSS // s použitím dedičstva. Element.style.borderLeftcolor \u003d farba; prepínanie \u003d! Prepínané;), 1000);. (/ * Nastaviť fiktívne vlastnosti * / Border-LEFFARE: červená; na pozadí - farba: červená; Šírka: 1EM; Výška: 1EM; Displej: Inline-Block; Pozícia: relatívna,).). BEZPLATNOSTI: PO (Hranica top: 1EM pevné transparentné; pohraničné pravé: 1EM pevné transparentné; hraničné dno: 1EM pevné 1EM solídny priehľadný; / * zdedí nehnuteľnosť * / Border-ľavostratová farba: Dedint; Obsah: "" Šírka: 0; výška: 0; Pozícia: Absolútna; vľavo: 100%; Top: -50%;)

Zdá sa, že nefunguje pre obsah: (

Nemôžete si vybrať pseudo položky v jQuery, pretože nie sú súčasťou domu. Môžete však pridať špecifickú triedu do prvku otca a spravovať ho pseudo-prvkami v CSS.

Span.Zmeniť: Po (Obsah: "Bar")

Aj keď sú zobrazené prehliadače cez CSS, ako keby boli podobné iným prvkom skutočného DOM, samotné pseudo-prvky nie sú súčasťou DOM, pretože pseudo-prvky, nasledovne z mena, nie sú skutočné prvky, a preto nemôžete Vyberte ich a manipulujte priamo pomocou jQuery (alebo akýkoľvek JavaScript-API, ak nie Selectors API.). To platí pre akékoľvek pseudo-prvky, ktorých štýly sa snažíte modifikovať pomocou skriptu, a nie len :: predtým a :: Pownter.

PSEUDO-prvok môžete získať len počas realizácie cez CSSOM (myslím, že okno.GetCompuTedstyle ()), ktorý nie je vystavený JQuery vonku. CSS (), metóda, ktorá tiež nepodporuje pseudo-prvky.

Vždy môžete nájsť iné spôsoby okolo neho, hoci napríklad:

jeden pracovník, ale nie veľmi účinný spôsob - pridajte pravidlo do dokumentu s novým obsahom a odkazujte na ňu s triedou. V závislosti od toho, čo je potrebné, môže trieda vyžadovať jedinečný identifikátor pre každú hodnotu v obsahu.

$("") .Appendto ($ (" hlava "); $ (" span "). Addclass (" id-po ");

Túto otázku som už odpovedal, ale byť super-cool, budem opakovať pre vás.

Odpoveď by mala byť ÁNO & AMP; Nie. Nie je možné vybrať položku pomocou pseudo-voliča, ale do štýlu, môžete pridať nové pravidlo pomocou javascriptu.

Urobil som niečo, čo by malo pracovať pre vás:

Var Addrule \u003d Funkcia (FOTCH.inserTrule) Return Found.inserTrule (volič + "(" + štýly + ")", plech.cssres.Length); ak (Sheet.AdDrule) Return CheNadRule (volič, štýly);) ; \\ T Addrule (dokument.Tylesheress, "telo: po", "Obsah:" foo ");

:: predtým.

Vypočítaný štýl v "Pred" bol obsah: "Skontrolujte, či chcete sledovať";

Tu sú moje dve vedenia JQuery, ktoré používajú myšlienku pridania doplnkovej triedy, ktorá sa špecificky označuje na túto položku, a potom pridáva štýlovú značku (s dôležitou značkou) na zmenu hodnôt obsahu CSS sudo prvku:

$ ("span.Play - Eq(0)") .addclass ("g");

$ ("Telo"). Append ("");

Prečo pridať triedy alebo atribúty, keď môžete jednoducho pridať štýl do hlavy

$ ("Hlava"). Pripojiť ("")

Existuje mnoho odpovedí tu, ale žiadna odpoveď pomáha manipulovať s CSS: Pred alebo: Po, ani akceptované.

Takto to navrhujem. Predpokladajme, že váš HTML vyzerá takto:

Skúška

A potom ho nainštalujete: predtým v CSS a navrhnite to takto:

#Something: predtým (obsah: "1st"; veľkosť písma: 20px; farba: červená;) #something (obsah: "1.";)

Upozorňujeme, že som tiež nainštaloval obsah v samotnom prvku, aby ste ho mohli ľahko prijať neskôr. Teraz je tlačidlo, kliknite na ktoré chcete zmeniť farbu: k zelenej a jeho veľkosti písma do 30 pixelov. Môžete to dosiahnuť takto:

Určite CSS s požadovaným štýlom v niektorých triedach.

Aktivuje: predtým (Farba: Zelená! DÔLEŽITÉ, FONT-SIZE: 30PX! DÔLEŽITÉ;)

Teraz môžete zmeniť: pred štýlom pridaním triedy na vaše: pred prvkom nasledovne:

Ak chcete získať obsah: Predtým to môže byť vykonané ako:

V konečnom dôsledku, ak chcete dynamicky zmeniť obsah: Pred použitím jQuery môžete dosiahnuť nasledovne:

Stlačením tlačidla "ChangeFore" sa zmení: pred obsahom #something na "22", čo je dynamická hodnota.

Dúfam, že to pomôže

Tu je prístupová metóda: po a: pred štýl definovaným v CSS:

// Získajte farebnú hodnotu .ELEMENT: PRED VAR COLOROU \u003d WINDOW.GETCOMPULTYEDSTYLE (dokument.QueryEctor ("prvok"), ": predtým"). GetpropertyValue ("farba"); // Získajte hodnotu obsahu .Lement: pred varom Content \u003d Window.getCompuTedstyle (dokument.QueryEctor ("Element"), ": predtým"). GetpropertyValue ("obsah");

$ (". Span"). ATT ("Data-txt", "foo"); $ (". Span"). Kliknite na položku (Funkcia () ($ (toto) .attr ("Data-txt", "akýkoľvek iný text");)) .SPAN () .SPAN: Po (Obsah: ATT (ATTER) -TXT);)

Môžeme sa tiež spoliehať vlastnosti používateľa CSS (premenné) Manipulovať s pseudo-prvok. Môžeme prečítať technické údaje , čo:

Vlastné vlastnosti sú bežné vlastnosti, takže môžu byť deklarované na akomkoľvek prvom prvku, povolené s obvyklým dedičstvom a kaskádovými pravidlami, môžu byť spôsobené @Media a iných podmieňovacích pravidiel, môžu byť použité v atribúte HTML štýlu, možno čítať alebo špecifikovať pomocou CSSOM a T D.

Vzhľadom na to je myšlienka určiť vlastnosť používateľa vo vnútri prvku a pseudo-prvok jednoducho zdedí; Takže to môžeme ľahko zmeniť:

1) Použitie vstavaného štýlu:

Box: predtým (obsah: "Som pred prvkom"; Farba: var (- farba, červená); veľkosť písma: 25px;)

2) Použitie CSS a tried

Box: pred prvkom; Farba: VaR (- farba, červená); veľkosť písma: 25px;) .Blue (--Color: modrá;) .Black (- Color: Black;)

3) Použitie Javascriptu

dokument.QueryEcEtorLall (". Box"). Štýl.setproperty ("- farba", "modrá"); Dokument.QueryEctorAll (". Box"). Style.setproperty ("- farba", "# f0f"); .Box: predtým (obsah: "Som pred prvkom"; Farba: VaR (- farba, červená); veľkosť písma: 25px;)

4) Použitie jQuery

$ (". Box"). EQ (0) .cs ("- farba", "modrá"); / * Funkcia CSS () s vlastnými vlastnosťami funguje len s veziou JQuery\u003e \u003d 3.x so staršou verziou môžeme použiť atribút štýlu na nastavenie hodnoty. Jednoducho venovať pozornosť, ak máte Arady Definovaný štýl! * / $ (". Box"). EQ (1) .ATR ("štýl", "- farba: # f0f"); .Box: predtým (obsah: "Som pred prvkom"; Farba: VaR (- farba, červená); veľkosť písma: 25px;)

Môže sa použiť aj s komplexnými hodnotami:

Box (--C: "Obsah", --B: lineárny gradient (červený, modrý); --s: 20px; --P: 0 15px;) .box: predtým (obsah: var (- c); Pozadie: VaR (- B); Farba: #fff; veľkosť písma: vypočítanie (2 * var (- s) + 5px); čalúnenie: var (- p);)

Ak chcete plne kontrolovať položky :: pred alebo :::: po sudo cez CSS, môžete to urobiť Js. Pozri nižšie:

JQuery ("hlava"). Append ("");

Všimnite si, že prvok