Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Cómo ejecutar una función javascript desde un link?

Estas en el tema de Cómo ejecutar una función javascript desde un link? en el foro de Jquery en Foros del Web. Hola! Me gustaría saber lo siguiente, tengo la siguiente función Javascript, que consiste en abrir una ventana pulsando un icono: Código: $(function(){ $('.slide-out-div').tabSlideOut({ tabHandle: '.handle', ...
  #1 (permalink)  
Antiguo 18/03/2014, 12:51
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 16 años, 5 meses
Puntos: 10
Pregunta Cómo ejecutar una función javascript desde un link?

Hola!

Me gustaría saber lo siguiente, tengo la siguiente función Javascript, que consiste en abrir una ventana pulsando un icono:

Código:
    $(function(){
        $('.slide-out-div').tabSlideOut({
            tabHandle: '.handle',                   
            pathToTabImage: 'imagenes/bg/chat-button.png', 
            imageHeight: '37px',                     
            imageWidth: '19px',                       
            tabLocation: 'right',                      
            speed: 300,                            
            action: 'click',                         
            topPos: '200px',                         
            fixedPosition: true                      
        });

    });

 
  $(document).ready(function(){
$(".selector").click(function(){
    var id = $(this).attr("id");
    if ($("."+id).css("display") == "none")
        $("."+id).show();
    else
        $("."+id).hide();
});
});
Cómo puedo hacer para que pulsando una imagen también se ejecute la función de abrir dicha ventana?

Muchas gracias por adelantado!
  #2 (permalink)  
Antiguo 18/03/2014, 13:56
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Cómo ejecutar una función javascript desde un link?

asignándole el mismo evento, en el DOM muchos objetos comparten los mismos eventos, y en el caso de jQuery solo necesitas colocarle un identificador (sea una clase css o ID)
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 18/03/2014, 15:23
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 16 años, 5 meses
Puntos: 10
Respuesta: Cómo ejecutar una función javascript desde un link?

Gracias por tu respuesta maycolalvarez, pero si la ventana se abre con una función asignada a una determinada clase, como voy aplicar a un "li"
Código HTML:
<li class="lamismaclase"><a href=""></li> 
si el otro elemento no tiene la misma clase?

(Pregunto desde mi ignorancia de jQuery)
  #4 (permalink)  
Antiguo 18/03/2014, 15:38
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Cómo ejecutar una función javascript desde un link?

Puedes aplicar a varias clases con los selectores:

Código:
$(".clase1,.clase2")
Saludos
  #5 (permalink)  
Antiguo 18/03/2014, 16:04
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 16 años, 5 meses
Puntos: 10
Respuesta: Cómo ejecutar una función javascript desde un link?

Gracias por las respuestas, pero ejecuto lo siguiente (añadir la clase "chat" al "li" que lo quiero aplicar) al el código inicial:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2. $(".selector",".chat").click(function(){
  3.     var id = $(this).attr("id");
  4.     if ($("."+id).css("display") == "none")
  5.         $("."+id).show();
  6.     else
  7.         $("."+id).hide();
  8. });
  9. });

Código HTML:
Ver original
  1. <li class="chat" id="segundo"><a href="#"><img src="imagenes/chat.png" alt=""></a> </li>

y sigue sin abrirse la ventanita... qué es lo que estoy haciendo mal?

Última edición por NaRanJiTo78; 18/03/2014 a las 16:11
  #6 (permalink)  
Antiguo 19/03/2014, 02:19
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 16 años, 5 meses
Puntos: 10
Respuesta: Cómo ejecutar una función javascript desde un link?

Aquí lo explico mejor:




La cuesstón es poder abrrir la ventanita desde ambos sitios

URL: Aquí

Última edición por NaRanJiTo78; 19/03/2014 a las 02:25
  #7 (permalink)  
Antiguo 19/03/2014, 05:08
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Cómo ejecutar una función javascript desde un link?

Ponlo tal cual, sé lo que me digo:

Código:
$(".selector,.chat")
  #8 (permalink)  
Antiguo 19/03/2014, 08:00
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 16 años, 5 meses
Puntos: 10
Respuesta: Cómo ejecutar una función javascript desde un link?

No me funciona como dices :(
  #9 (permalink)  
Antiguo 20/03/2014, 16:24
Avatar de andresgarciadev  
Fecha de Ingreso: junio-2013
Mensajes: 218
Antigüedad: 10 años, 10 meses
Puntos: 32
Respuesta: Cómo ejecutar una función javascript desde un link?

primero... estas haciendo que se muestre apartir de el id... no puedes hacer eso con dos objetos diferentes ya que el id deberia ser unico...
lo que podrias hacer es usar esto
http://www.etnassoft.com/2011/03/26/jquery-data/
darle al elemento un nuevo atributo y invocarlo con data()
asignales a ambos el mismo texto en ese data y que sea el nombre de la clase que quieres mostrar que por lo que veo asi es como funciona tu scrip
  #10 (permalink)  
Antiguo 24/03/2014, 04:29
Avatar de NaRanJiTo78  
Fecha de Ingreso: noviembre-2007
Ubicación: In the BeaCh
Mensajes: 874
Antigüedad: 16 años, 5 meses
Puntos: 10
Respuesta: Cómo ejecutar una función javascript desde un link?

Muchas gracias Andrés! :)

Etiquetas: javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.