Contactos

El efecto del flujo de color alterno. Cambio suave en el color de fondo jquery Cambio de color suave

La idea es extremadamente simple y comprensible ... supongamos que queremos cambiar el color del fondo de la página al desplazarse cada 500px desde la parte superior. Desafortunadamente, encuentre una versión sencilla lista para hacer, susceptibles de modernización, no se pudo encontrar. Por lo tanto, junto con @only_darkangel, se escribió una versión elemental:

Primero conecte la biblioteca en la cabeza si aún no están conectados.

Luego un par de líneas de estilos.

A continuación, el script que cambiará el color de la página al desplazarse.
El dígito 400 establece la tasa de cambio de color (0,4 segundos). En la parte inferior del número 451 establece el tiempo para verificar la posición del desplazamiento, este número siempre debe ser más largo que el tiempo de velocidad de color.

Damo. Trabajo de guión. Como vemos que todo es extremadamente simple y comprensible, pero al mismo tiempo de manera primitiva.

También encontré la opción más hermosa, pero también compleja. http://jsfiddle.net/jguffey/mxkx9j2o/ También puede ser útil.

Especifique las preguntas en los comentarios, comparta el artículo en SOC. Redes haciendo clic en el botón apropiado a continuación 🙂 ¡Gracias por leer!

Hay una capa con texto y el botón cuando hace clic en el que necesita cambiar el color del texto de esta capa.

Cambiar color (jQuery)

Pero para que entiendas a dónde proviene de donde la presentación de las personas, culpamos al placer y alabando el sufrimiento, revelaré el panorama completo frente a usted y aclararé qué esta persona descubrió la verdad de que llamaría a los arquitectos de un feliz. la vida. De hecho, nadie rechaza, no desprecia, no evita placer solo porque es un placer, sino solo porque aquellos que no saben cómo disfrutar sabiamente, comprender el gran sufrimiento. Además, no hay nadie que amado, preferiría y se enfrentaría al sufrimiento solo por estar sufriendo, y no porque surjan otras circunstancias, surgen tales circunstancias cuando el sufrimiento y el dolor traen algunos y placeres considerables. Si aprovecha el ejemplo más sencillo, entonces, ¿quién de nosotros habría hecho algún tipo de ejercicio físico, si no le beneficiaba algún beneficio con ellos? Y quién podría estar en justicia para reprochar a Aspireing al disfrute, lo que no tendría ningún problema con ellos, o ¿quién aprovecharía ese sufrimiento que no le daría ningún placer con él?



De alguna manera, se enfrentó a la necesidad de escribir el efecto del texto que fluye de un color a otro, repentinamente descubierto para sí mismo que esta no es una tarea tan trivial.

Solo puedes dejar una garrapata Efectos del núcleo. Es este módulo el que expande el método jquery.anite () que necesita, simplemente conecte el ensamblaje descargado:

Después de eso, el color del texto, el marco o el fondo de cualquier elemento de página está disponible para la animación.

Paso 2. Retraso entre la animación de los elementos.

Ahora, cuando todo está en orden con la animación, hay una segunda característica que complica la tarea, para hacer un retraso entre la animación de los elementos de la colección.

Supongamos que tenemos una colección de elementos de lista numerados:

Var $ elementos \u003d $ ("Ol\u003e Li");

La animación de cada uno de los próximos elementos de la colección debe comenzar con un cierto retraso después de la anterior.

Puede lograr el resultado deseado utilizando el siguiente código:

Para (var i \u003d 0; i

Tenga en cuenta que en SEFTIMEOUT () el primer parámetro se transmite mediante una función que devuelve otra función.

Si esto no se hace, entonces la variable se transmitiré por referencia y cuando llegue el momento de la ejecución de la función Temporizador, tendré su último valor igual a $ elementos.length, ya que en este momento el ciclo para el ciclo. Ya terminó y la animación no se cumplirá en absoluto.

Con la función anidada, estamos copiando el valor I en cada iteración del ciclo, con la que logramos el funcionamiento correcto de la prevista.

conclusiones

Puede usar tal animación, por ejemplo, para demostrar que en alguna lista de opciones debe seleccionar al menos uno o simplemente para llamar la atención sobre una página de la página.

¿Hay una manera de elegir / manipular los pseudo-elementos de CSS, como :: Antes y :: después (y una versión antigua con un solo punto y coma) usando jQuery?

Por ejemplo, mi hoja de estilo tiene la siguiente regla:

Span :: ForSter (contenido: "foo")

¿Cómo puedo cambiar "foo" a "bar" usando jQuery?

También puede transferir los contenidos del atributo pseudofemento de los datos, y luego usar jquery para administrar esto:

Foo

$ ("Span"). Hover (función () ($ (esto) .attr ("contenido de datos", "barra"););

SPAN: AUTREST: ATTR (contenido de datos) "Cualquier otro texto que desee";)

Si desea que se muestre "Otro texto", podría combinarlo con la solución de Seucolega de la siguiente manera:

Foo

$ ("Span"). Hover (función () ($ (esto) .Addclass ("Cambio"). ATR ("Contenido de datos", "Barra"););

Span.change: AUTREST: ATTR (contenido de datos) "cualquier otro texto que desee";)

No es práctico, ya que no lo escribí para usarlo en el mundo real, solo para darle un ejemplo de lo que se puede lograr.

CSS \u003d (Antes: Función (Elem, ATTR) (¡si ($ (# cust_style ")! \u003d\u003d indefinido) ($ (" Cuerpo "). Anexar ("");) Otra cosa ($ (" # # Cust_style "). Retirar (); $ (" Cuerpo "). Anexar ("");)), Después de: Función (Elem, ATTR) (si ($ (" # # cust_style ")! \u003d\u003d indefinido) ($ (" Cuerpo "). Anexar ("");) Otra cosa ($ (" # # Cust_style "). Retirar (); $ (" Cuerpo "). Anexar (""); } } }

este agregado agrega actualmente un elemento o agrega el elemento de estilo que contiene el atributo requerido que afectará el elemento de destino después del elemento pseudo.

se puede utilizar como

CSS.FER ("Somelement", "Contenido:" Prueba "; Posición:" Absolute ";") // Edición / Agregar estilos a: Después

CSS. Antes de (...); // para afectar el elemento pseudo antes.

como después, y antes: los pseudo-elementos no están disponibles directamente a través de la DOM, es imposible editar valores de CSS específicos libremente.

mi camino era solo un ejemplo, y no es muy bueno para la práctica, puedes cambiarlo, probar algunos de tus propios trucos y hacerlo bien para usarlo en el mundo real.

¡Así que haz tus propios experimentos con esto y otros!

bienvenido - AARSH HEDDE.

¡Gracias a todos! Logré hacer lo que quería: D http://jsfiddle.net/tfc9j/42/ Aquí mira

quería tener la opacidad del DIV externo para ser diferente de la opacidad del DIV interno y este cambio haciendo clic en algún otro lugar;) ¡Gracias!

$ ("# ENA"). En ("clic", función () ($ ("" cabeza "). Anexar ("");)); $ (" # DUOP "). En (" clic ", función (E) ($ (" "Cabeza"). Anexar (""); E.StopPropagation ();)); #ena (ancho: 300px; altura: 300px; borde: 1px sólido negro; posición: relativa;) #duo (opacidad: 1; posición: absoluta; top: 50px; ancho : 300px; altura: 100px; fondo de fondo: blanco;) #ena: antes: color: blanco; cursor: puntero; posición: absoluta; fondo de fondo: rojo; opacidad: 0.9; ancho: 100%; altura: 100% ;)

dUOYYYYYYYYYYYYY P.

Puede crear una propiedad falsa o usarla existente y heredarla en la tabla de estilos de pseudoemento.

var conmutado \u003d falso; // Habilitar el setinterval de conmutación de color (función () (var color \u003d conmutado? "Rojo": "oscuro"; var element \u003d document.getelementbyid ("flecha"); elemento.style.backgroundcolor \u003d color; // gestionando pseudo-element "S CSS // usando la herencia. Element.style.borderleftcolor \u003d color; cambiada \u003d! Conmutado;), 1000); .arrow (/ * establece propiedad ficticia * / borde-izquierda-color: rojo; color de fondo: rojo; Ancho: 1em; Altura: 1em; Pantalla: bloque en línea; Posición: Relativo;). PLATO: DESPUÉS DE LA FRONTERA: 1EM Transparente sólido; Frontera-derecha: 1em sólido transparente; Fondo de borde: 1EM transparente; Frontera izquierda: 1em sólido transparente; / * propiedad heredada * / borde izquierdo-color: heredado; contenido: "" ancho: 0; altura: 0; Posición: Absolute; Izquierda: 100%; TOP: 50%;

Parece que no funciona para el contenido: (

No se puede elegir los artículos pseudo en jQuery, porque no son parte del DOM. Pero puede agregar una clase específica al elemento del padre y administrarlo con pseudo-elementos en CSS.

Span.change: después (contenido: "bar")

Aunque se muestran los navegadores a través de CSS, como si fueran similares a otros elementos de DOM real, los pseudo-elementos en sí mismos no son parte de DOM, porque los pseudo-elementos, de la siguiente manera del nombre, no son elementos reales, y por lo tanto no puedes Elija y manipule directamente utilizando jQuery (o Alguna JavaScript-API, si no es realmente Selectores API.). Esto se aplica a cualquier pseudo-elementos cuyos estilos está intentando modificar utilizando un script, y no solo :: Antes y :: Forter.

Solo puede recibir estilos de pseudoementos directamente durante la ejecución a través de CSSOM (creo que la ventana .getcomputedstyle ()), que no está sujeta a jQuery afuera. CSS (), un método que tampoco admite los pseudo-elementos.

Siempre puedes encontrar otras formas a su alrededor, aunque por ejemplo:

un trabajador, pero no una forma muy efectiva, agregue una regla a un documento con un nuevo contenido y consulte con una clase. Dependiendo de lo que sea necesario, la clase puede requerir un identificador único para cada valor en el contenido.

$("") .Ampendto ($ (" ("cabeza")); $ ("span"). AddClass ("Id-después");

Ya he respondido a esta pregunta, pero para ser súper genial, repetiré por ti.

La respuesta debe ser SÍ & AMP; No. No puede seleccionar un elemento con un pseudo-seludo, pero puede agregar una nueva regla a la hoja de estilo utilizando JavaScript.

Hice algo que debería trabajar para ti:

VAR Addrule \u003d Función (hoja .Esertrule) Hoja de retorno.insertrule (selector + "(" + estilos + ")", hoja.csssres.length); if (sheed.Addrule) Hoja de retorno .Adule (selector, estilos);) ; Addrule (Documento.StylesSeets, "Cuerpo: Después", "Contenido:" foo ");

:: Antes.

El estilo calculado en "ANTES" fue contenido: "Verifique ver";

Aquí están mis dos líneas jQuery, que utilizan la idea de agregar una clase adicional, que se refiere específicamente a este artículo, y luego agrega etiqueta de estilo (con una etiqueta importante) para cambiar los valores de contenido CSS del elemento sudo:

$ ("span.play udq(0)") .addclass ("g");

$ ("Cuerpo"). Anexar ("");

¿Por qué agregar clases o atributos cuando solo puede agregar estilo a la cabeza?

$ ("Cabeza"). Anexar ("")

Hay muchas respuestas aquí, pero ninguna respuesta ayuda a manipular CSS: antes o: después, ni siquiera se acepta.

Así es como sugiero esto. Supongamos que tu HTML se ve así:

Prueba

Y luego lo instala: antes en CSS y diseñe así:

# Algo: antes (contenido: "1st"; Tamaño de fuente: 20px; Color: rojo;) #algo (contenido: "1er";)

Tenga en cuenta que también instalé el contenido en el propio elemento para que pueda tomarlo fácilmente más tarde. Ahora hay un botón, haga clic en el que desea cambiar el color: al verde y su tamaño de fuente hasta 30 píxeles. Puedes lograr esto de la siguiente manera:

Determine CSS con su estilo deseado en algunos .antivos de clase:

Activa: antes (color: verde! Importante; Tamaño de fuentes: 30px! Importante;)

Ahora puede cambiar: frente al estilo agregando una clase a su: delante del elemento de la siguiente manera:

Si desea obtener contenido: antes, se puede hacer como:

En última instancia, si desea cambiar dinámicamente los contenidos: antes de usar JQery, puede lograr esto de la siguiente manera:

Al presionar el botón "CAMBIO AFOR" cambiará: Antes de los contenidos de #Something en "22", que es un valor dinámico.

Espero que esto sea de ayuda

Aquí hay un método de acceso: después y: antes de que se definen el estilo en CSS:

// Obtenga el valor de color de .ELEMENT: antes de var color \u003d window.getcomputedstyle (document.queryselector ("elemento"), ": Antes"). GetPropertyValue ("Color"); // Obtenga el valor de contenido de .ELEMENTO: ANTES DE VAR CONTENTE \u003d window.getcomputedstyle (documento.queryselector ("elemento"), ": Antes"). GetPropertyValue ("Contenido");

$ (". Span"). attr ("data-txt", "foo"); $ (". Span"). Haga clic en (Función () ($ (esto) .attr ("Data-txt", "cualquier otro texto");)) .span () .span: después (contenido: attr (datos -TXT);)

También podemos confiar en propiedades del usuario de CSS (variables) Para manipular el pseudofemento. Podemos leer en especificaciones , qué:

Las propiedades personalizadas son propiedades convencionales, por lo que se pueden declarar en cualquier elemento, permitidas con las reglas habituales de herencia y cascada, pueden deberse a @media y otras reglas condicionales, se pueden usar en el atributo de estilo HTML, se puede leer o especificar usando Cssom y t d.

Dado esto, la idea es determinar la propiedad del usuario dentro del elemento y el pseudo-elemento simplemente heredarlo; Así que podemos cambiarlo fácilmente:

1) Usando el estilo incorporado:

Caja: antes (contenido: "Soy un elemento antes"; color: var (- color, rojo); Tamaño de fuente: 25px;)

2) Utilizando CSS y clases.

Caja: antes del elemento; Color: var (- color, rojo); Tamaño de fuente: 25px;) .Blue (--Color: Blue;) .Black (--Color: Negro;)

3) Uso de JavaScript

document.QuerySelectorall (". Caja"). Estilo.SETPROPERATE ("- Color", "Azul"); Document.QuerySelectorall (". Caja"). Estilo.SETPROPERATE ("- Color", "# F0F"); .Box: Antes (contenido: "Soy un elemento antes"; Color: var (- color, rojo); Tamaño de fuente: 25px;)

4) usando jQuery

$ (". Caja"). EQ (0) .css ("- color", "azul"); / * La función CSS () con propiedades personalizadas funciona solo con un jQuery Vesion\u003e \u003d 3.x con la versión anterior, podemos usar el atributo de estilo para establecer el valor. ¡Simplemente presta atención si a Alady tiene un estilo en línea definido! * / $ (". CAJA"). EQ (1) .attr ("estilo", "- Color: # F0F"); .Box: Antes (contenido: "Soy un elemento antes"; Color: var (- color, rojo); Tamaño de fuente: 25px;)

También se puede utilizar con valores complejos:

Cuadro (--c: "contenido"; --b: degradado lineal (rojo, azul); --s: 20px; --p: 0 15px;) .box: antes (contenido: var (- c); Fondo: var (- b); Color: #fff; Tamaño de fuente: calc (2 * var (- s) + 5px); relleno: var (- p);)

Si desea controlar completamente los artículos :: Antes o :: Después de sudo a través de CSS, puede hacerlo JS. Vea abajo:

Jquery ("cabeza"). Anexar ("");

Tenga en cuenta que el elemento