Jevn bakgrunnsfargeendring. Hvordan endre bakgrunnsfarge: etter pseudoklasse med jQuery? Jquery endre farge

I denne leksjonen vil vi snakke om effekten der bakgrunnen til et objekt jevnt endres som et resultat av å holde musepekeren over det.
Først, som du sikkert allerede har blitt vant til (hvis dette ikke er første gang du bruker jQuery-biblioteket), kobler vi jQuery til nettstedet vårt.
I tillegg til selve jQuery, trenger vi også jQuery UI.

Hvis du er kjent med jQuery-prinsippene, bør du huske at i overskriften må vi plassere anropskoden, i dette tilfellet fargeendringsanimasjonen, slik at den laster før hovedinnholdet på siden lastes. $(document).ready(function() ( // legg inn animasjonsanropskoden her));

HTML

Her er et eksempel på html-markering.

Endre bakgrunnsfargen til et element Animasjon av fargeendring ved sveving / PC-spill / Portal 2 Portal 2

Den originale portalen er allerede en kultting og uventet for sin tid. Det bekrefter bare en gang en gang den utprøvde tesen om ideenes triumf over avanserte teknologier.

CSS

CSS-stilene for siden vår ser slik ut.

Png); text-align:left; farge:#333; bredde:800px; font-size:14px; font-family:georgia, "time new romances", serif; margin:0 auto; polstring:0; ) a( color:#333; text-decoration:none ) a:focus ( outline: none; ) h1 ( font-size: 34px; font-family: verdana, helvetica, arial, sans-serif; letter-space:- 2px; farge:#394BEA; font-weight:700; padding:20px 0 0; text-shadow:0 1px 1px #70C5ED; ) h2 (font-size: 24px; font-family: verdana, helvetica, arial, sans- serif; farge:#5C81CB; font-weight: 400; padding: 0 0 10px; text-shadow:0 1px 1px #70C5ED; ) h3, h3 a( font-size:14px; font-family:verdana, helvetica, arial , sans-serif; bokstavavstand:-1px; farge:#333; font-weight: 700; text-transform:store bokstaver; margin:0; padding:8px 0 8px 0; ) p ( farge:#333; float: venstre; line-height:22px; margin:5px; padding:0 0 10px; ) #container ( margin: 0; padding: 0; ) .boxes (bakgrunn:#fff; border:1px solid #ccc; float:venstre; padding:10px; posisjon:relative; width:600px; ) img ( border:5px solid #CCCCCC; ) div.info ( border-bottom:1px solid #CCCCCC; float:venstre; margin:0; padding:0; width: 100%; ).blokk (farge:#0066CC; flyte:venstre; overløp:skjult; stilling:slektning; bredde:600px; ) .block h4, .block h4 a( farge:#333333; font-size:11px; padding:5px 0; text-shadow:0 1px 1px #CEDEFD; text-transform:store bokstaver; )

JS

Et DIV-element med klassen .boxes er elementet, blokken, hvis farge vi ønsker å endre.
Dette er koden vi kaller i overskriften.

$(document).ready(function())( $(".boxes").hover(function() ( $(this).stop().animate(( backgroundColor: "#40B8FE"), 800); ) , function() ( $(this).stop().animate(( bakgrunnsfarge: "#ffffff" ), 800); )); )); Bakgrunnsfargeparametrene angir fargen, og verdien 800 er animasjonshastigheten.

Det er et lag med tekst og en knapp, når du klikker på det, må du endre fargen på teksten på dette laget.

Endre farge (jQuery) $(document).ready(function())( $("#color_change").click(function())( $("#layer").css("farge", "#F00" ); )) )); #lag (border:#CCC 1px solid; line-height:1.5; padding:10px 20px; width:800px; margin-top:20px;) Men slik at du forstår hvor denne misoppfatningen av mennesker som fordømmer nytelse og roser smerte kommer fra , Jeg vil avsløre hele bildet for deg og forklare nøyaktig hva denne mannen som oppdaget sannheten, som jeg vil kalle arkitekten for et lykkelig liv, sa. Faktisk er det ingen som avviser, forakter eller unngår gleder bare fordi de er nytelser, men bare fordi de som ikke vet hvordan de rasjonelt kan hengi seg til nytelser lider store lidelser. Akkurat som det ikke er noen som vil elske, foretrekke og begjære selve lidelsen bare fordi den er lidelse, og ikke fordi noen ganger omstendigheter oppstår når lidelse og smerte gir en betydelig glede. For å bruke et enkelt eksempel, hvem av oss ville drevet med noen form for anstrengende fysisk trening hvis det ikke hadde noen fordeler med seg? Og hvem kan med rette klandre noen som streber etter nytelse som ikke vil føre med seg noen problemer, eller noen som vil unngå smerte som ikke vil bringe med seg noen glede?

I dag vil vi lære hvordan du gjør en jevn endring i fargen på en blokk ved hjelp av CSS og JQuery. Med denne plugin kan du oppnå utrolig vakre designresultater. Du kan for eksempel lage en kul meny som jevnt vil skifte farge når du holder musepekeren over, og tro meg, den ser veldig vakker ut.

JQuery

Til å begynne med, mellom taggene og du må sette følgende:

Så, igjen mellom taggene, kopierer vi dette skriptet:

$(document).ready(function())( $(".Box").hover(function() ( $(this).stop().animate(( backgroundColor: "#FF4500"), 400); ) , function() ( $(this).stop().animate(( bakgrunnsfarge: "#ffffff" ), 400); )); ));

Hvor .Box er blokkklassen vi kom opp med ovenfor i CSS.

"#FF4500" - svevefarge. 400 — animasjonshastighet ved sveving.

"#ffffff" er startfargen etter å ha flyttet markøren bort. 400 — animasjonshastighet når du flytter markøren bort.

HTML

Etter at du har gjort alt som skrevet ovenfor, vil fargen på blokken gradvis endres. For å sette inn en slik blokk på siden, trenger du bare å legge til følgende på riktig sted:

Og blokken vises.

Viktig

Dette pluginet kan bare endre bakgrunnsfargen. Du vil for eksempel ikke kunne legge det ved lenker eller tekst. En annen plugin endrer fargen på lenker (jeg vil definitivt skrive hvordan du gjør det snart).

Hvis du vil få blokkene på siden til å ha forskjellige farger, som min, må du plassere flere skript på rad mellom taggene, og derfor ikke glem å endre fargen til ønsket. Det viktigste er å endre klassen, for eksempel i vårt eksempel ovenfor - Box-klassen, og neste skript skal være med en annen klasse, for eksempel Box1, deretter Box2 og så videre.

Det er alt, kjære venner. Hvis du ikke forstår noe, sørg for å spørre i kommentarene. Ser deg snart.

På en eller annen måte, da jeg ble møtt med behovet for å skrive effekten av tekst som flyter fra en farge til en annen, fant jeg uventet ut for meg selv at dette ikke er en så triviell oppgave.

Du kan bare legge igjen et hake ved siden av Effects Core. Det er denne modulen som utvider jQuery.animate()-metoden vi trenger; du trenger bare å koble til den nedlastede sammenstillingen:

Etter det er fargen på teksten, rammen eller bakgrunnen til et sideelement tilgjengelig for animasjon.

Trinn 2. Forsinkelse mellom elementanimasjoner.

Nå som alt er i orden med animasjonen, er det en annen funksjon som kompliserer oppgaven - å legge til en forsinkelse mellom animasjonen av samlingselementene.

La oss si at vi har en samling av nummererte listeelementer:

Var $elementer = $("ol > li");

Animasjonen av hvert neste element i samlingen bør begynne med en viss forsinkelse etter det forrige.

Du kan oppnå ønsket resultat ved å bruke følgende kode:

For (var i = 0; i

Merk at setTimeout() tar som sin første parameter en funksjon som returnerer en annen funksjon.

Hvis dette ikke gjøres, vil variabelen i bli sendt ved referanse, og når utførelsestiden for timerfunksjonen kommer, vil i ha sin siste verdi lik $elements.length , siden for-løkken på dette tidspunktet vil være avsluttet og animasjonen vil ikke bli utført i det hele tatt.

Ved å bruke en nestet funksjon kopierer vi dermed verdien av i ved hver iterasjon av løkken, ved hjelp av hvilken vi oppnår riktig drift planlagt.

konklusjoner

Du kan bruke en slik animasjon, for eksempel, for å vise at du i en liste over parametere må velge minst én, eller ganske enkelt for å trekke oppmerksomhet til en blokk av siden.


Topp