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

    spostamento anomalo di un div

    Salve,

    ho un problema particolare.
    Ho un sito composto da 4 div
    header
    navigation
    main content
    footer

    dentro navigation ho due altri div:
    menusx
    menudx

    menuxsx ha marginleft 20px e float left
    menudx ha marginright 20px

    il menusx ha dei link che caricano nell'innerhtml del main content del contenuto con uno script che usa XML HTTP request

    ebbene, quando si preme uno di questi link, succede una cosa strana SOLO in ie
    il div menusx si sposta a sinistra di 20 px, in pratica sembra perdere il marginleft

    questo comportamento non si presenta in ff

    in ogni caso i link vengono caricati

    ho controllato, e lo spostamento avviene subito dopo la chiamata innerhtml = responsetext dello script

    codice:
    function load_div(oggetto){
    	//inizializza l'oggetto XHR
    	var xhrFile = false;
    	xhrFile = new XMLHttpRequest();
    	
    	//apre il file a seconda del testo dell'oggetto chiamante
    	var text = getText(oggetto);
    	xhrFile.open("GET", text + ".htm", true);
    
    	//imposta la funzione da chiamare quando l'oggetto XHR è pronto
    	xhrFile.onreadystatechange=function(){
    		if(xhrFile.readyState==4){
    			//prende il riferimento al DIV contenitore
    			var elemento = document.getElementById("main_content");
    			//lo riempe col contenuto del file caricato
    			elemento.innerHTML = xhrFile.responseText;
    		}
     	}
     
    	
    	//non spedisce nessun dato via http
    	xhrFile.send(null)
    
    	return true;
    		  
    }
    insomma il cambiamento di codice html dentro il div maincontent spupazza il div navigation e/o i div interni a esso

    ma non capisco come

    il sito col codice è questo

    http://www.adrianoesposito.it/indexnew.htm

    cliccate e osservate, poi fatelo con firefox

    idee?

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    non ho exporer ma dalla descrizione sembrerebbe il double margin bug

    a menuxsx oltre a marginleft 20px e float left
    dai anche display: inline;
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    Originariamente inviato da fcaldera
    non ho exporer ma dalla descrizione sembrerebbe il double margin bug

    a menuxsx oltre a marginleft 20px e float left
    dai anche display: inline;
    mi documento e provo
    grazie

  4. #4
    Originariamente inviato da fcaldera
    non ho exporer ma dalla descrizione sembrerebbe il double margin bug

    a menuxsx oltre a marginleft 20px e float left
    dai anche display: inline;
    ho provato come dici tu, ma non funziona
    ho visto che il double margin bug si concretizza col raddoppio del margine impostato, mentre a me capita che il margine si riduca a 0 (da 20px che è)
    questo solo dopo la modifica dell'innerhtml di un div esterno al div in questione!

    grazie cmq per l'aiuto

    intanto sto cercando di capire se è un bug sconosciuto oppure un comportamento non standard di ie

    boh!

  5. #5
    alla fine ho risolto così:

    ho tolto i 20px dal margin-left dal div di navigazione e ho messo a 0: ora è quindi il div è attaccato al body. Per avere però un margine a sinistra ho escogitato questo: il margine lo dò al primo elemento che sta dentro al div, nella fattispecie una table. In questo modo Internet ExploDer non resetta di sua iniziativa il marginLeft del div, per il semplice motivo che è già a zero! E in più non va a curiosare al margin-left della table.

    Per inciso, nell'esempio precedente dentro il div c'erano altri div, ora c'è una table. Ma non fa differenza perché il problema si presentava a prescindere da quali elementi c'erano nel div di navigazione.

    Meno male che ho trovato una soluzione, ma.. che je possino a quelli della Microsoft!

    Grazie comunque per l'aiuto.

    PS Ma un comportamento così assurdo del browser non dovrebbe essere fatto notare a "quelli" di Internet Explorer? Voglio dire, se fosse sucesso a Firefox avrei subito aperto un ticket.. :rollo:

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.