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

    Problema con il tootip. Sapete perché fa così?

    Dopo una ricerca su internet (compreso questo forum) ho trovato svariati modi per ottenere (teoricamente ) dei tootip carini al passaggio del mouse.

    Inserito nel mio sito mi fa una cosa stranissima. Senza dilungarmi troppo conviene guardarlo direttamente... (guarda esempio)

    Praticamente se passate il mouse sui titoli colorati presenti nel corpo della pagina viene fuori un tootip molto carino... ma provate a far scrollare la pagina (anche di poco) verso il basso e vedrete che il tooltip NON SEGUE lo scroll. Perché?

    Su molti siti ho trovato tooltip analoghi che però funzionano bene... Non se che pesci prendere.

    Di seguito riporto ciò che ho fatto praticamente:

    All'interno del tag <body> ho inserito
    codice:
    <div id="cmnt" style="position:absolute; visibility:hidden; width:150px;  z-index:5">Qui andrà a finire il toolTip</div>
    All'interno dei tag <head> </head> ho inserito
    codice:
    <script language="javascript">
    var x=null, y=null; // id:cmnt
    
    function EventXY(event) {
    	if(document.layers) {
    		x=event.pageX;
    		y=event.pageY;
    	}
    	else if(document.all) {
    		event=window.event;
    		x=event.clientX;
    		y=event.clientY;
    	}
    	else if((document.getElementById)&&(!document.all)) {
    		x=event.clientX;
    		y=event.clientY;
    	}
    	else {
    		x=event.clientX;
    		y=event.clientY;
    	};
    };
    
    if(document.layers) {
    	document.captureEvents(Event.MOUSEMOVE);
    };
    
    document.onmousemove=EventXY;
    
    function getElementByBrowser(table) {
    if(document.layers) {
    	return document.layers["cmnt"].document.write(table);
    }
    else if(document.all) {
    	return document.all["cmnt"].innerHTML=table;
    }
    else if((document.getElementById)&&(!document.all)) {
    	return document.getElementById("cmnt").innerHTML=table;
    }
    else {
    	return document.getElementById("cmnt").innerHTML=table;
    };
    };
    
    function muovi() {
    var dis=8, disS=40;
    if(document.layers) {
    	document.layers["cmnt"].top=y+dis;
    	document.layers["cmnt"].left=x-disS;
    	document.layers["cmnt"].visibility="show";
    }
    else if(document.all) {
    	document.all["cmnt"].style.top=y+dis;
    	document.all["cmnt"].style.left=x-disS;
    	document.all["cmnt"].style.visibility="visible";
    }
    else if((document.getElementById)&&(!document.all)) {
    	document.getElementById("cmnt").style.top=y+dis;
    	document.getElementById("cmnt").style.left=x-disS;
    	document.getElementById("cmnt").style.visibility="visible";
    }
    else {
    	document.getElementById("cmnt").style.top=y+dis;
    	document.getElementById("cmnt").style.left=x-disS;
    	document.getElementById("cmnt").style.visibility="visible";
    };
    };
    
    function apri(testo,stile) {
    var table="";
    table="<table class="+stile+">";
    table+=("<tr><td align=\"center\"><font size=1>"+testo+"</font></td></tr>");
    table+=("</table>");
    getElementByBrowser(table);
    
    if(document.layers) document.layers["cmnt"].document.close();
    timer=window.setInterval("muovi();",2);
    };
    
    function chiudi() {
    window.clearInterval(timer);
    if(document.layers) {
    	document.layers["cmnt"].top=0;
    	document.layers["cmnt"].left=0;
    	document.layers["cmnt"].visibility="hide";
    }
    else if(document.all) {
    	document.all["cmnt"].style.top=0;
    	document.all["cmnt"].style.left=0;
    	document.all["cmnt"].style.visibility="hidden";
    }
    else if((document.getElementById)&&(!document.all)) {
    	document.getElementById("cmnt").style.top=0;
    	document.getElementById("cmnt").style.left=0;
    	document.getElementById("cmnt").style.visibility="hidden";
    }
    else {
    	document.getElementById("cmnt").style.top=0;
    	document.getElementById("cmnt").style.left=0;
    	document.getElementById("cmnt").style.visibility="hidden";
    };
    };
    
    </script>
    E poi nel punto dove voglio far comparire l'effetto ho inserito.
    codice:
    <p class="tdBassaNormale5" onmouseover="apri('Raccolta di articoli su viaggi più o meno lontani','tdBassaNormale5');" onmouseout="chiudi();">Appunti di viaggio </p>
    HELP ME PLEASE!
    Giulio Ferri
    giulioferri.it

    Anche un orologio fermo ha ragione due volte al giorno (Giorgio Faletti)

  2. #2
    credo (ma non sono sicuro) che questo sia in più:
    style="position:absolute ...
    Prova a toglierlo e vedere che succede... ma non ne sono sicuro al 100%

  3. #3
    Originariamente inviato da SuperMariano81
    credo (ma non sono sicuro) che questo sia in più:
    style="position:absolute ...
    Prova a toglierlo e vedere che succede... ma non ne sono sicuro al 100%
    Togliendolo il tooltip non mi appare più sul mousover ma SEMPRE nel punto dove l'ho inserito nella pagina (e quindi nell'angolo alto a sinistra)...

    Altri suggerimenti???
    Giulio Ferri
    giulioferri.it

    Anche un orologio fermo ha ragione due volte al giorno (Giorgio Faletti)

  4. #4
    Scusa ma visto che si tratta di javascript perchè non provi a postare nell'apposito forum, forse riesci a trovare subito la risposta


    Io me ne intendo pochissimo di javascript!

  5. #5

    giusto! Scusate :-)

    Hai ragione... ho postato lo stesso 3D nel forum di SCRIPTING
    Giulio Ferri
    giulioferri.it

    Anche un orologio fermo ha ragione due volte al giorno (Giorgio Faletti)

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.