Estoy creando un menú que se abre y cierra usando jQuery. En términos simples, funciona así:
function open_menu() {
$(this).next('ul.sub-menu').css('display', 'block').stop(true, false).animate({
width: '235px',
}, 500);
}
function close_menu() {
// close code here
}
status = 'closed'; // set the default menu status
$('a').click(function() {
switch(status) {
case 'closed':
open_menu();
break;
case 'open':
close_menu();
break;
}
}
Si tomo el contenido de open_menu()
y lo puso en su lugar de open_menu()
en caso .click()
, cada funciona como se espera. Si utilizo el código como se muestra arriba, $(this)
no puede entender que .click()
lo activó y el código no se ejecuta.
¿Hay algo que pueda hacer para que el selector $(this)
negocie lo que lo activó y lo guarde en open_menu()
?
Intenté esto, pero podría no haberlo hecho correctamente. Agregué 'test = $ (this);' justo antes del cambio y lo pasé. Sonido ¿no? – Combobreaker
Lo tengo para trabajar. Tuve que usar 'this', not' $ (this) '. Gracias. – Combobreaker