Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    192

    Firefox visualizzare div

    mentre in Chrome ed IE non vi sono problemi a visualizzare/nascondere un div con css
    se uso:

    oggetto=document.getElementById('divid');

    oggetto.style.display='block'; (visualizza)
    oggetto.style.display='none'; (nasconde)



    in FF non c'è verso di farlo funzionare.

    Chi mi può aiutare (senza usare jQuery)?
    Ultima modifica di nikotina; 28-07-2014 a 20:53

  2. #2
    Utente di HTML.it L'avatar di Prill
    Registrato dal
    Oct 2006
    Messaggi
    2,947
    è un problema da area javascript non da css.
    Se hai più di un div da nascondere, e vuoi che all'apertura dell'uno si chiuda quello aperto, puoi provare questo script, reperito in rete, non ricordo dove:

    codice:
    <script type="text/javascript">
    var _targetdiv = null;
    function showdiv(id) {
    if(_targetdiv)
      _targetdiv.style.display = "none";
      _targetdiv = document.getElementById(id);
      _targetdiv.style.display = "block";
    }
    function hide(id){
    document.getElementById(id).style.display = "none";
    }
    </script>
    <div id="link">
                        <a href="#vuoto" onclick="showdiv('uno');">mostra uno</a>
                        <a href="#vuoto" onclick="showdiv('due');">mostra due</a>
    </div>
    <div id="uno" style="display:none; width:300px; height:100px; background: pink">
     questo è il div uno<br />
    <a href="#nullo" title="close" onclick="hide('uno');">chiudi uno</a>
    </div>
    <div id="due" style="display:none; width:300px; height:100px; background: yellow">
     questo è il div due<br />
    <a href="#nullo" title="close" onclick="hide('due');">chiudi due</a>
    </div>

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    192
    si è un problema di javascript le istruzioni che hai indicato sono le stesse che uso io appunto in una funzione js e che con FF non mi funzionano.
    Forse è meglio che sposto la discussione in area js

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    192
    vorrei chiedere al moderatore se può spostare questa discussione in area js.
    Grazie

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova ad aggiungere le graffe cosi
    codice:
    var _targetdiv = null;
    function showdiv(id) {
    if(_targetdiv){//graffa aperta aggiunta
      _targetdiv.style.display = "none";
      _targetdiv = document.getElementById(id);
      _targetdiv.style.display = "block";
    }//graffa chiusa aggiunta il commento puoi toglierlo
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    192
    proverò...però c'è anche una altro problema... il div lo vorrei aprire nel punto esatto in cui faccio click col mouse...e si aggiunge qui anche la difficoltà di ottenere le coordinate del mouse con una soluzione cross browser.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    192
    Ho scoperto la causa del problema che non è nella funzione che visualizza o nasconde il div ma in quella che recupera le coordinate del mouse.
    Essa funziona in IE e Chrome ma non in Firefox.

    function getPosition(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
    cursor.x = e.pageX;
    cursor.y = e.pageY;
    }
    else {
    cursor.x = e.clientX +
    (document.documentElement.scrollLeft ||
    document.body.scrollLeft) -
    document.documentElement.clientLeft;
    cursor.y = e.clientY +
    (document.documentElement.scrollTop ||
    document.body.scrollTop) -
    document.documentElement.clientTop;
    }
    return cursor;
    }

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    192
    devo aggiungere una informazione che può essere importante.

    Io devo recuperare le coordinate del mouse quando faccio click su un div posizionato fixed che ricopre quasi tutto lo schermo.

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    monitorizza con degli alert la funzione getPosition(e) per capire dove e quando va in errore/blocco
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    192
    Per vedere il problema che in Firefox non va incollo qui un html completo cosi puoi renderti conto immediatamente. In IE e Chrome facendo click in un punto qualunque del video da le coordinate di quel punti in FF non fa assolutamente nulla.


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Aratti@py</title>

    <script language="JavaScript" type="text/JavaScript">

    function checkS(e){
    // capture the mouse position
    var posx = 0;
    var posy = 0;
    if (!e) var e = window.event;
    if (e.pageX || e.pageY)
    {
    posx = e.pageX;
    posy = e.pageY;
    }
    else if (e.clientX || e.clientY)
    {
    posx = e.clientX;
    posy = e.clientY;
    }

    document.getElementById('pos').innerHTML = 'Mouse position is: X='+posx+' Y='+posy;
    document.getElementById('pos').style.left = posx;
    document.getElementById('pos').style.top = posy;
    document.getElementById('pos').style.display='bloc k';
    }
    </script>

    </head>

    <body onClick="checkS(event)">

    <div id="pos" style="position:absolute; display:none;">test</div>
    </body>
    </html>

Tag per questa discussione

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.