He estado buscando pero he salido en blanco y me pregunto si puedo usar una declaración jQuery para orientar varios elementos en una página. Tengo varios botones idénticos en una página y cada uno está formado por un fondo izquierdo, medio y derecho donde el medio contiene el texto y puede expandirse a cualquier tamaño necesario. Cada uno tiene un Id y/o clase únicos. Lo tengo configurado ahora para que cuando muevas el mouse sobre su div contenedor los 3 fondos cambien para dar la apariencia de que los botones están en un estado diferente. La forma en que se hace ahora es con 1 llamada activada para cada botón que está ubicado por Clase (preferiría usar ID pero no puede tener múltiples elementos con la misma ID). Este hover es seguido por 8 eventos. Un cambio de fondo para cada derecha a la izquierda y el medio y un cambio de color para el texto de los medios.Orientación de elementos múltiples con jQuery
Esto significa muchas líneas de código. Lo que quiero es poder llamar a todos los botones a la vez con el evento hover o hacer que el evento hover sepa de alguna manera qué botón está sobrevolando y arrojar esa clase o id o incluso el nombre a jQuery, que luego puede cambiar el Subclases de botones para la derecha, la izquierda y el medio. La subclase para la derecha y la media son idénticas en todos los botones, por lo que si el evento de desplazamiento se pudiera enfocar en cualquier evento que se llame, solo necesitaría un conjunto de llamadas para cambiar los atributos de fondo ... El código actual está debajo para dos de los botones ...
$j(".learnMoreButton").hover(
function() {
$j('.learnMoreButton .buttonLeft').css({background:"url(/images/concaveBtn-Left2.gif)"});
$j('.learnMoreButton .buttonMiddle').css("background-image", "url(/images/concaveBtn-Middle2.gif)");
$j('.learnMoreButton .buttonMiddle a').css({color:"#ffffff"});
$j('.learnMoreButton .buttonRight').css({background:"url(/images/concaveBtn-Right2.gif)"});
},
function() {
$j('.learnMoreButton .buttonLeft').css({background:"url(/images/concaveBtn-Left.gif)"});
$j('.learnMoreButton .buttonMiddle').css("background-image", "url(/images/concaveBtn-Middle.gif)");
$j('.learnMoreButton .buttonMiddle a').css("color", "#666");
$j('.learnMoreButton .buttonRight').css({background:"url(/images/concaveBtn-Right.gif)"});
}
);
$j(".bioButton").hover(
function() {
$j('.bioButton .buttonLeft').css({background:"url(/images/concaveBtn-Left2.gif)"});
$j('.bioButton .buttonMiddle').css("background-image", "url(/images/concaveBtn-Middle2.gif)");
$j('.bioButton .buttonMiddle a').css({color:"#ffffff"});
$j('.bioButton .buttonRight').css({background:"url(/images/concaveBtn-Right2.gif)"});
},
function() {
$j('.bioButton .buttonLeft').css({background:"url(/images/concaveBtn-Left.gif)"});
$j('.bioButton .buttonMiddle').css("background-image", "url(/images/concaveBtn-Middle.gif)");
$j('.bioButton .buttonMiddle a').css("color", "#666");
$j('.bioButton .buttonRight').css({background:"url(/images/concaveBtn-Right.gif)"});
}
);
Creo que está en el camino correcto, pero los problemas que estoy teniendo (implementar esto) son: Cada botón tiene que tener 3 subclases para expandirse. Y necesito apuntar a las subclases para cambiar sus respectivas clases. A partir de ahora, cambia cada botón al pasar el mouse sobre cualquier botón. Con este código ... No puedo usar "this" en $ (this) .addClass ("hoverover"); porque se dirige a la clase hoverButton que está en cada botón de desplazamiento. Necesito una forma de apuntar solo el botón específico sobre el que se pasa el mouse. Es posible que haya explicado esto, pero debo haberlo perdido de alguna manera ... – RAC
@Tony: 'this' * absolutely' es * solo * el elemento está sobrevolado. Es difícil comentar qué está sucediendo sin ver el marcado/código. – cletus
Voy a publicar mi nuevo código como respuesta, ya que no puedo incluirlo en 600 caracteres ... – RAC