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

    La funzione va solo con ALERT !

    Ho la funzione sotto riportata che, fa sparire o meno le frecce di scorrimento a destra o sinistra di una seri di thumbs.
    Es.
    Ho una striscia con 8 elemnti visibili, se i thumbs totali sono ad esempio 20 all'inizio saranno visibili i primi 8, e la funzione dovrebbe nascindere la freccia di scorrimento verso sinistra.
    Al primo click sulla freccia destra si vedranno i secondi 8 elementi e saranno visibili tutte e due le freccie, ad un ulteriore click, saranno visibili i restanti 4 thumbs e sparirà la freccia verso destra e così via, stesso discorso "per il ritorno".

    La cosa strana è : se utilizzo la funzione con la riga di alert che utilizzo per il debug, la cosa funziona regolarmente e le freccie appaiono e scompaiono al bisogno, se commento la riga con l'alert si sballa tutto e le frecce non appaiono e scompaiono nel moento giusto...
    Qualcuno ha idea del perchè ?

    codice:
    function check_page(elementi){		 		
    
    pagine = parseInt(elementi / 8); 		 		
    
    //alert('elementi = '+elementi+' start = '+start+' pagine '+pagine); 	
    
    if (start==0){ 			
         JQ('#fr_sx').css('display','none') 		
    }else{ 			
         JQ('#fr_sx').css('display','block'); 		
    } 		 		
    if (start==pagine){ 			
         JQ('#fr_dx').css('display','none') 		
    }else{ 			
         JQ('#fr_dx').css('display','block') 		
    } 
    }
    .....vivi nel rispetto di chi vive nel rispetto degli altri ......

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Potrebbe essere perché inserendo l'alert blocchi la funzione, prova ad inserire dei return false negli if.
    E su questa operazione o qualche dubbio:
    pagine = parseInt(elementi / 8);
    Se intendi dividere elementi x 8 meglio modificare l'operazione cosi:
    var pagine = (parseInt(elementi)/8); //forzo la variabile elementi in numero intero e divido per 8.


    P.S. E consigliato dichiarare le variabili anteponendo var
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Ciao Andrea ed innanzitutto grazie per la risposta.
    il parseInt va bene così, perchè in realtà voglio arrotondare il risuktato, in maniera da non avere ad esempio 1,6544 che non sarebbe più uguale al numero start che è un intero.

    LA tua osservazione sul fatto che l'alert blocchi la funzione e quindi faccia funzionare il tutto è sicuramente giusta, infatti l'alert arriva prima della funzione che fa fare il fadeOut, seguito dal movimento e dal conseguente fadeIn, ed ho notato che senza alert, l'operazione parte subito e non funziona, mentre con alert la finestra appare prima che si muovano i thumbs, facendo sparire la freccia ll'occorrenza.
    Il problema è capire il perchè....

    la funzione check_page viene chaimata da un'altra che è quella che si occupa del movimento :

    codice:
    function next_group(quanti){ 	
    start ++; 	
    check_page(quanti); 	 		JQ("#gal_thumbs_cont").fadeTo("fast",0.30, 			function(){ 				
    JQ("#gal_thumbs_cont").animate({ 		        
    marginLeft: "-=880px" 		    
    }, 		    
    1000, 		    	
    function(){ 		    	JQ("#gal_thumbs_cont").fadeTo("fast",0.99); 				
    }); 			
    }); 
    }
    Ho provato sia a chiamare chack_page all'inizio della funzione com'p adesso, sia al termine, ma il risultato non cambia.
    Ho provato anche a far eseguire la parte del fade e del movimento in check_page al termine della valutazione delle pagine, ma il risultato ugualmente non cambia...
    Sembra quasi che il movimento interferisca can la valutazione delle pagine, ma mi sembra molto strana come cosa....
    .....vivi nel rispetto di chi vive nel rispetto degli altri ......

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.