2011-06-01 16 views

Respuesta

0

A continuación se muestra el código fuente del efecto de resaltado en jQuery UI 1.8.9. No parece que debería desvanecerse en blanco ... debería desvanecerse de amarillo (# ffff99 o la opción de color que ingresa) al color de fondo original, que se almacena en caché en la variable animation. ¿Estás usando 1.8.9?

/* 
* jQuery UI Effects Highlight 1.8.9 
* 
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 
* Dual licensed under the MIT or GPL Version 2 licenses. 
* http://jquery.org/license 
* 
* http://docs.jquery.com/UI/Effects/Highlight 
* 
* Depends: 
* jquery.effects.core.js 
*/ 
(function($, undefined) { 

$.effects.highlight = function(o) { 
    return this.queue(function() { 
     var elem = $(this), 
      props = ['backgroundImage', 'backgroundColor', 'opacity'], 
      mode = $.effects.setMode(elem, o.options.mode || 'show'), 
      animation = { 
       backgroundColor: elem.css('backgroundColor') 
      }; 

     if (mode == 'hide') { 
      animation.opacity = 0; 
     } 

     $.effects.save(elem, props); 
     elem 
      .show() 
      .css({ 
       backgroundImage: 'none', 
       backgroundColor: o.options.color || '#ffff99' 
      }) 
      .animate(animation, { 
       queue: false, 
       duration: o.duration, 
       easing: o.options.easing, 
       complete: function() { 
        (mode == 'hide' && elem.hide()); 
        $.effects.restore(elem, props); 
        (mode == 'show' && !$.support.opacity && this.style.removeAttribute('filter')); 
        (o.callback && o.callback.apply(this, arguments)); 
        elem.dequeue(); 
       } 
      }); 
    }); 
}; 
+0

De hecho estoy usando 1.8.9 y definitivamente se desvanece de amarillo a blanco a transparente. – Shpigford

+0

Probablemente necesite publicar más de su código específico de contexto para obtener las respuestas más útiles, entonces. – RwwL

5

Acabo de encontrar este comportamiento en jQuery UI 1.8.9, parece ser un error.

La forma en que lo hice fue definir el color de fondo del elemento que estaba resaltando en el CSS en lugar de dejarlo como transparente.

Si el color de fondo no está establecido (es decir, es transparente), suponiendo que no ha cambiado el color de resaltado, se desvanecerá el elemento a amarillo, luego a blanco y luego se desvanecerá.

Sin embargo, si establece el color de fondo del elemento que está resaltando, se desvanecerá a amarillo y luego al color original del elemento cuando lo resalte.

+0

Sí, definitivamente necesito un fundido a transparente aquí. – Shpigford

+0

¿Has probado mi sugerencia y configuras manualmente el color de fondo del elemento que estás tratando de resaltar? – Ross

+0

Como mencioné en mi publicación original y en mi respuesta, necesito que se difumine a transparente. Establecer el color de fondo del elemento no me ayuda porque necesito que sea transparente. – Shpigford

1
$("#id").effect("highlight",{color:'#FFFF00',easing:'easeInElastic'},4000); 

En el objeto de opciones de efecto, puede cambiar la propiedad de color predeterminada a la que desee. Mi elemento no está configurado en un color y resalta en amarillo brillante, luego se desvanece a nada. Estoy usando jQuery 1.8.1 y jQuery-UI.

Cuestiones relacionadas