Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di ric.cpp
    Registrato dal
    Sep 2004
    Messaggi
    171

    problema di posizionamento

    perchè su ie funziona e su mozilla no?? originariamente mese è posizionato in (0, 0) e dopo la chiamata a vedi() su mozilla resta nella stessa posizione mentre su ie è posizionato correttamente

    ps mese è una coppia di <span> conteneti una <table>

    codice:
    	function getPageCoords(element)
    		{
    		var coords = {x: 0, y: 0};
    		while(element)
    			{
    			coords.x += element.offsetLeft;
    			coords.y += element.offsetTop;
    			element = element.offsetParent;
    			}
    		return coords;
    		} 
    	function vedi(mese, chiudi)
    		{
    		b = getPageCoords(document.getElementById('calendario'));
    		document.getElementById(mese).style.position = 'absolute';
    		document.getElementById(mese).style.top = (b.y + 20);
    		document.getElementById(mese).style.left = b.x;
    		document.getElementById(chiudi).style.visibility = 'hidden';
    		document.getElementById(mese).style.visibility = 'visible';
    		}

  2. #2
    Utente di HTML.it L'avatar di ric.cpp
    Registrato dal
    Sep 2004
    Messaggi
    171
    scusate il browser con cui non funziona è firefox non mozilla

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Devi anche dire come richiami quelle funzioni e posta anche tutti gli oggetti coinvolti.
    Se hai un DOCTYPE nella pagina, posta anche quello.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Ciao,

    Ho lo stesso problema

    Credo che gli altri browser abbiano problemi con offsetParent e quindi con il ciclo while

    ric.cpp Tu hai risolto??

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    no, gli offset vanno
    piuttosto con i browser moderni va specificata anche l' unita' di misura quando viene settata via javascript una proprieta' css che la richiede
    codice:
    document.getElementById(mese).style.top = (b.y + 20)+'px';
    document.getElementById(mese).style.left = b.x+'px';
    ciao

  6. #6
    Ciao Xinod,

    Grazie per la risposta. Per il settaggio dello stile non ho avuto difficoltà.

    Poi provando e riprovando ho dovuto cercare le coordinate nel momento in cui carica l'immagine, quindi <img onLoad.... e salvarle in un array da utilizzare successivamente.
    Adesso funziona bene.

    Prima avevo tolto la fase "<img onLoad..." e cercavo le coordinate nell'evento onmouseover, questo però funziona solo con ie. Gli altri browser mi ridavano sempre 0. Forse perché l'immagine si trova dentro un 'div'.

    Comunque adesso funziona.

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.