Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1

    fadeIn, fadeOut funziona (bene) una sola volta

    Scusatemi la lungaggine del post, ma ho voluto inserire quanti più elementi possibile per essere compreso. Spero di non ottenere l'effetto opposto.
    Per capire meglio il mio problema vi prego di tener presente il tasto “Opzione per la notizia” di Facebook, cioè il tasto con la freccia in basso presente su ogni post. In effetti ciò che ho provato a realizzare è una cosa molto simile ed il mio tasto “opzione per la notizia” ha per classe ‘ .tasto_menu ‘ e per id un id generato dalla pagina stessa e che io intercetto attraverso getAttribute(‘data-menu’). Quando io clicco sul mio tasto compare, come dovrebbe, un piccolo div contenente un elenco cliccabile. Se poi clicco di nuovo sullo stesso tasto il div scompare, se invece clicco su un tasto diverso da quello che ha permesso l’apertura del Div opzioni, quest’ultimo si chiude per aprirsi quello sotto il tasto appena cliccato. Fin qui tutto sembra funzionare alla perfezione.
    Il problema nasce nel momento in cui io clicco su un elemento dell’elenco, ad esempio messaggio.
    L’elemento messaggio ha per classe ‘.messaggio’ ed al suo click genera un Div (#form_messaggio) al centro della pagina che ha a sua volta un tasto di chiusura Div (#chiudi_messaggio). Quando io chiudo il Div #form_messaggio tutto sembra essere tornato allo stato iniziale, ma quando clicco su uno dei tasti “Opzione per la notizia” il Div opzioni si apre per poi richiudersi.
    Per capire cosa succede ho inserito degli alert nel codice, ecco cosa succede:
    - pagina appena caricata, clicco su uno dei tasti “Opzione per la notizia” (es.: menu1):
    Alert : false menu1
    Alert: false menu1
    Il Div opzioni menu1 si apre
    Se clicco di nuovo sul tasto menu1:
    Alert : true menu1
    Alert: true menu1
    Il Div opzioni menu1 si chiude
    Se invece avessi cliccato sul tasto menu2:
    Alert : false menu2
    Alert: false menu2
    Il Div opzioni del menu1 si chiude
    Il Div opzioni del menu2 si apre
    Se clicco su un qualsiasi Div opzioni dopo aver chiuso il Div #form_messaggio:
    Alert : false menu1
    Alert: false menu1
    Alert : true menu1
    Alert: true menu1
    Il Div opzioni del menu1 si apre per poi richiudersi subito

    Codice per l'apertura del Div Opzioni
    codice:
     
    $('.tasto_menu').click(function(){
                                   $('.select_option').fadeOut();
                    var id_menu_biblio = this.getAttribute('data-menu');
                    visibile = $('#'+id_menu_biblio).is(':visible');
                    if(visibile===false){
     
                                   alert(visibile+" "+id_menu_biblio);
                                   $('#'+id_menu_biblio).fadeIn();
                                   alert(visibile+" "+id_menu_biblio);
                                                    
     
                    }
                    else if(visibile===true){
     
                             alert(visibile+" "+id_menu_biblio);                       
                                   $('#'+id_menu_biblio).fadeOut();
                                   alert(visibile+" "+id_menu_biblio);
                    }                                            
    })
    Codice per l'apertura del FORM MESSAGGI
    codice:
    $('.messaggio').click(function(){
                    $('#form_messaggio').remove('#form_messaggio');
                    var messaggio = this.getAttribute('data-messaggio');
     
                                   var urlform;
                                                   urlform = 'messaggio.php?biblio='+messaggio;
                                   $('#pagina').append('<div id="form_messaggio"></div>');
                                   $('#form_messaggio').load(urlform);
     
                                  
                   
    })
    Codice per la chiusura del Form Messaggi
    codice:
    $('#chiudi_messaggio').click(function(){
                    $('#form_messaggio').remove('#form_messaggio');
    Ringrazio tutti per l'attenzione.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Posta il link alla pagina demo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Per farti avere un'idea poi guardare qui http://www.lemieprovetecniche.altervista.org/
    Scusami ma potresti avere problemi di formattazione. Il lavoro che sto facendo è in locale con xampp ed ho dovuto qualcosa che rendesse l'idea. Ho notato che per aprirsi il form messaggio impiega un po' di tempo, ma si apre.
    Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    Il load di jquery oltre a caricare l' html della pagina richiamata si porta dietro anche tutti gli script e i css, se in queste pagine ci sono gli stessi script presenti nella pagina principale avrai delle funzioni doppione e dei conflitti. Nel tuo caso avrai due funzioni identiche per ogni click. L'import dello script è presente già nella pagina principale puoi rimuoverlo in tutte le pagine che richiami con ajax.

  5. #5
    Grazie mille Vindav, problema risolto grazie al tuo aiuto!!

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.