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

    Limite di javascript o sbaglio io??

    Salve a tutti, scusate se ho sbagliato forum, anche se credo che il problema riguarda javascript.
    Premetto che questo codice, almeno per la pagina index.php, è stato estratto dalla home page de "Il sole 24 ore", per la parte che a me interessa (realizzare una carrellata di foto diversa proprio come quella del sito suddetto).
    Per brevità, ho pubblicato il codice conservando i link originali, compreso quelli dei file css e js, pertanto i file vanno copiati e testati con la connessione aperta.
    La pagina index.html funziona perfettamente; clicco sulle frecce e la carrellata va che è una meraviglia.
    A questo punto, e qui viene il bello, quando clicco sul bottone Aggiorna Div, tramite la funzione contenuta nel file impostadiv.js, il div canali24 viene aggiornato con il contenuto del file insertdiv.php che è perfettamente uguale al contenuto del div canali24 del file index.php (ho inserito più volte solo due foto in modo che sia possibile verificare l'avvenuto aggiornamento del div). Adesso, però, cliccando sulle frecce non succede più niente. Come è possibile rimediare a questo inconveniente?
    invio in allegato i file:
    -index.php
    -inserdiv.php
    -impostaDiv.js
    contenuti nel file test.zip

    Vi ringrazio in anticipo per l'aiuto, e mi scuso per la lungaggine del post!
    File allegati File allegati

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    personalmente non ho tempo (ne' tantomeno voglia) di scaricare i tuoi file e farli girare in un server locale,
    quando si posta per chiedere aiuto si aumentano le probabilita' di ricevere risposte se chiunque abbia la minima intenzione di aiutare possa farlo perdendo meno tempo possibile
    quindi se non si parla di un pezzo di codice ma di qualcosa di piu' articolato un link ai tuoi file, fatti girare su un tuo spazio, sono l' unica cosa che serve inizialmente

    L' errore e' probabilmente concettuale:
    hai valutato un determinato pezzo di markup e dinamicamente settato per esso gestori evento, ecc...
    se piu' tardi modifichi questo markup (e tu lo sovrascrivi di netto con innerHTML) probabimente perdi qualsiasi valutazione precedente,
    che andrebbe eseguita nuovamente
    (pensa alle tue frecce avanti/indietro: non sono le stesse che erano presenti inizialmente, sono altri elementi mai presi in considerazione prima)

    con jquery (ma con la stessa logica anche in javascript classico) puoi risolvere un problema del genere settando i gestori evento con .on http://api.jquery.com/on/ invece che bind o simili
    su un contenitore che sicuramente non cambia, a mali estremi addirittura document

    per fare un esempio
    $('#id_contenitore_che_non_cambia').on('click', '.classe_freccia_avanti', function(){
    // fai scrollare in avanti
    })

    se piu' tardi aggiungi un nuovo elemento con classe_freccia_avanti nel contenitore_che_non_cambia il gestore evento risultera' gia' assegnato

    spero sia chiaro, buon proseguimento

  3. #3
    Grazie per avermi risposto e scusami per aver inviato allegati del codice ma avevo provato ad inserire il codice come testo ma era troppo lungo e la pubblicazione non era possibile. Avrei dovuto scrivere due post e la cosa sarebbe stata ancora più noiosa per chi volesse darmi un aiuto. Ancora grazie!

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.