Visualizzazione risultati 1 fino 1 di 1

Discussione: Errora casuale in funzione

  1. #1
    Guest

    Question Errora casuale in funzione

    Premettendo che:
    - Uso XHTML1.1
    - Non voglio usare jQuery
    - Il problema non è nella porzione PHP del codice, in quanto nel sorgente la funzione viene stampata completa di tutti.
    - Ringrazio anticipatamente chiunque possa aiutarmi

    Ho questo codice JS

    Codice:
    /** * Libreria javascript di base
    	* @author Blancks
    */
    
    /** * Funzione selettore rapido per JS
    	* @author Blancks
    */
    function $(id){
    	return document.getElementById(id);
    }
    
    /** * Gestore del fade in/out
    	* @author Blancks
    */
    function start_fade(id, op)
    {	
    	if (op == '+')
    	{
    		set_fade(id, 0);
    		toggle_fade(id, 0, op);
    	
    	}else
    		toggle_fade(id, 100, op);
    	
    }
    
    function toggle_fade(id, opacity, op)
    {
    	if(opacity <= 100 && opacity >= 0)
    	{			
    		set_fade(id, opacity);
    		opacity = (op == '+')? opacity+5 : opacity-5;
    		
    		setTimeout("toggle_fade('"+id+"',"+opacity+", '"+op+"')", 20);
    	}
    
    }
    
    function set_fade(id,opacity)
    {	
    	var obj = $(id);
    	
    	obj.style.filter		= "alpha(opacity:"+opacity+")";
    	obj.style.KHTMLOpacity	= opacity/100;
    	obj.style.MozOpacity	= opacity/100;
    	obj.style.opacity		= opacity/100;
    
    }
    
    /* ToolTip Descrizione luogo */
    
    function show_info(e, txt)
    {
    	curX = (document.all)? event.clientX + document.body.scrollLeft : e.pageX;
    	curY = (document.all)? event.clientY + document.body.scrollTop : e.pageY;
    	
    	set_fade('infoLoc', 0);
    	$('infoLoc').style.display='block';
    	$('infoLoc').style.left='5 px';
    	$('infoLoc').style.top='5 px';
    	$('infoLoc').innerHTML=txt;
    	
    	start_fade('infoLoc', '+');
    }
    
    function hide_info()
    {
    	$('infoLoc').style.display='none';
    }
    Che mi serve per far comparire in una nuvoletta con ingresso graduale, richiamata da questo codice:

    Codice PHP:
    <div class="page_title">
    <?php if ($record['descrizionelunga']!=NULL) { ?>
    <form action="main.php?page=location_descrizione" method="post" id="info_form" name="desclunga">
    <input type="hidden" name="id_map" value="<?php echo gdrcd_filter('out',$record['id']); ?>" />
    <input type="hidden" name="title" value="<?php echo gdrcd_filter('out',$record['nome']); ?>" />
    <input type="hidden" name="contenuto" value="<?php echo gdrcd_filter('out',$record['descrizionelunga']); ?>" />
    <?php } ?>
    <h2 <?php if ($record['descrizione']!=NULL){ ?> onmouseover="javascript:show_info(event, '<?php echo gdrcd_filter('out',$record['descrizione']);?>');" onmouseout="javascript:hide_info();"<?php } if ($record['descrizionelunga']!=NULL) { ?> onClick="javascript:document.desclunga.submit();" <?php } ?>><?php echo gdrcd_filter('out', $nome_luogo); ?></h2>
    <div id="infoLoc"></div>
    </form>
    </div>
    Qualcuno riesce a farmi capire perché in alcune pagine la cosa funziona, ed in altre no? L'errore appare in maniera completamente casuale e non segue nessuna logica. Potete verificarlo andando qui:

    http://morgensterngdr.altervista.org/gdr/

    eseguendo l'accesso con credenziali:
    User: Test
    Pass: test

    e cliccando un po' random sulle varie stanza di gioco, quelle che compaiono come chat dovrebbero avere questa "nuvoletta" passando il mouse sopra il nome della stanza di chat che avete in alto a destra, alcune l'avranno, altre no.

    Allego screenshot:



    Quella nuvola nera sarebbe dovuta apparire in entrambe le immagini, ma non lo fa... sapete perché?

    Ancora grazie per l'attenzione.
    Ultima modifica di morgensterngdr : 26-01-2013 alle ore 03.51.50

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •