Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Ajax, usare 2 volte lo stesso ID funzione

    Ciao a tutti,
    ho una domanda banale da porre che probabilmente col titolo non sono riuscito a sintetizzare correttamente.

    La mia domanda è la seguente:

    - Ho sulla mia pagina un link con class="pippo" che al click fa una determinata azione in ajax.
    Ora, se questo stesso link volessi metterlo anche in un'altra parte della mia stessa pagina, devo per forza cambiargli classe e duplicare o script perchè altrimenti vanno in conflitto e non funzionano.

    C'è un modo per ovviare questo problema oppure è necessario duplicare lo script?

    Esempio:

    Ajax:
    codice:
    $(".peppa").click(function(){
    $("#miodiv").hide();
    });
    Pagina Html zona alta
    <a class="peppa">bla bla</a>

    Ora, se volessi mettere il class="peppa" anche in un'altra zona della pagina, dovrei duplicare il tutto con un altro nome altrimenti non mi funziona. C'è un modo invece per fare ciò?

    Oddio, spero di essermi spiegato, non sono una cima in Js.

    Grazie
    Perchè uso Maxthon? | Mi piace questa chat

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non e' necessario duplicare, ma da quell' elemento devi essere in grado di risalire a chi e' il destinatario dell' azione (#miodiv nell' esempio)

    qui il problema non sussiste: un <a> ha un href, in cui e' buona pratica specificare qualcosa di significativo a cui puntare, punta a "#miodiv" e nella funzione sostituisci a $('#miodiv')
    $($(this).attr('hash'))

  3. #3
    Xinod grazie per l'intervento.

    Ti chiedo scusa ma non c'ho capito niente.

    Allora, il mio script fa riferimento sempre allo stesso DIV, quindi non è un problema.

    Il problema sta nel fatto che non riesco ad usare più href con lo stesso id che mi va in palla.

    Nel mio caso quindi vorrei usare bla bla più volte nella stessa pagina.

    Per questo non ho capito $($(this).attr('hash')) dove dovrei metterlo.

    Grazie e scusa l'incompetenza
    Perchè uso Maxthon? | Mi piace questa chat

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Bukowski
    Il problema sta nel fatto che non riesco ad usare più href con lo stesso id che mi va in palla.
    stesso id? questa e' una contraddizione, un id identifica uno ed un solo elemento
    se sono classi, come selezionato in $(".peppa"), tutti gli elementi con quella classe, in condizioni normali, avranno lo stesso comportamento

    se per te cosi' non e' c'e' altro che non sappiamo

  5. #5
    Scusami ho sbagliato io, volevo dire stessa classe ma con riferimento di azione ad un ID chiaramente univoco
    Perchè uso Maxthon? | Mi piace questa chat

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ripeto, allora dev' esserci altro, perche' questo
    codice:
    $(".peppa").click(function(){
    $("#miodiv").hide();
    });
    funzionerebbe con piu' link tutti con classe "peppa"

  7. #7


    Assurdo, ora effettivamente funziona!!!

    Evidentemente ieri avevo confuso qualche div con class.

    Eppure avevo già fatto prove precedenti di questo tipo riscontrando sempre problemi, per questo non me ne spiegavo il motivo!

    Che dire, grazie e scusa del tempo perso.


    [ STO AGGIORNANDO .... ]
    Perchè uso Maxthon? | Mi piace questa chat

  8. #8
    Ho capito perchè mi ero confuso,
    sto usando la funzione toggle() e con due link diversi fa un pò problema.

    codice:
    $(function() {
    		$(".zoom").toggle(
    			function() {
    				$("#game").center();
    				$("#game").animate({width: (percentuale+percent), height: (formula2)}, 500);
    				$("#bottone_diminuisci").show();
    			},
    			function() {
    				$("#game").animate({width: (larghgioco), height: (altgioco)}, 500);
    				$('#game').attr('style', 'background-position:relative;');
    
    				$("#bottone_diminuisci").hide()
    			}
    		);
    	});
    In pratica funziona cosi.
    Quando clicco sulla classe zoom del primo href mi si ingrandisce questo div #game.
    Insieme a questo div devo far apparire un altro div che è #bottone_diminuisci in cui è contenuto il secondo href sempre con la classe .zoom.
    Ora succede che quando clicco su questa, funziona solo cliccandoci 2 volte (perchè evidentemente il toggle riparte daccapo).

    Mi sarò spiegato malissimo come al mio solito
    Perchè uso Maxthon? | Mi piace questa chat

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.