Recuperare ID e usarlo in funzione

Discussione in 'jQuery' iniziata da marcopompilio, 7 Novembre 2018.

  1. marcopompilio

    marcopompilio Nuovo Utente

    Registrato:
    7 Novembre 2018
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Salve a tutti! Volevo sapere se è possibile recuperare un ID al click e poi usarlo x definire una classe (click su #elemento -> copia "elemento"-> definisci .elemento) da usare in una funzione (nel mio caso scrollTop).

    Praticamente ho un nav con le varie voci definite da ID (#voce1, #voce2, #voce3...) e al click su queste si attiva uno scroll fino alla section corrispondente, identificate dalle classi (.voce1, .voce2, .voce3...).
    Visto che i nomi, al netto di # e . sono uguali a coppie, volevo evitare di scrivere n funzioni e scriverne una sola che le racchiudesse tutte.

    Spero di essere stato chiaro e grazie a tutti
     
  2. WmbertSea

    WmbertSea Utente Attivo

    Registrato:
    28 Novembre 2014
    Messaggi:
    134
    Mi Piace Ricevuti:
    13
    Punteggio:
    18
    Ciao, non so se hai già risolto, ad ogni modo la risposta è sì. In generale puoi usare la keyword this all'interno della funzione associata ad un determinato evento. In linea di massima questo ti permette di avere il riferimento dell'oggetto da cui è scaturito l'evento, per cui sarà sufficiente per ottenere qualsiasi proprietà di tale elemento (come il suo id) che puoi usare come meglio credi.

    Nel tuo caso bisogna capire come è impostata quella funzione di scroll. Se ti serve aiuto per capire come intervenire, posta il codice in questione o un link all'eventuale relativa pagina.
     
  3. marcopompilio

    marcopompilio Nuovo Utente

    Registrato:
    7 Novembre 2018
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Scusate, avevo risolto ma ho dimenticato di aggiornare il post... Di seguito incollo lo script per chiunque ne avesse necessità

    $('nav ul li a').click(function(event) {

    var tasto = $(this).attr("id");

    $('html,body').animate({
    scrollTop: $('.' + tasto).offset().top-50});
    });
    Grazie comunque
     
Sto caricando...

Condividi questa Pagina