Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
 palmsey
palmsey

stil.display nu funcționează în Firefox, Opera, Safari - IE7 OK

Am un div absolut poziționat pe care vreau să îl afișez când utilizatorul dă clic pe un link. Codul onclick al legăturii apelează o funcție js care afișează afișarea divului la bloc (încercat: "", inline , celulă de tabelă , inline-table , etc.). Acest lucru funcționează excelent în IE7, deloc în toate celelalte browsere pe care le-am încercat (FF2, FF3, Opera 9.5, Safari).

Am încercat adăugarea de alerte înainte și după apel și arată că afișarea sa schimbat de la none la block , dar div afişa.

Pot sa-l afis pe div pentru a fi afisat in FF3 daca schimba valoarea afisata folosind inspectorul HTML Firebug (dar nu prin rularea javascript prin intermediul consolei Firebug) - asa ca stiu ca nu se arata doar off-screen etc.

Am încercat tot ce mă pot gândi, inclusiv:

  • Folosind o doctype diferită (XHTML 1, HTML 4, etc)
  • Utilizarea vizibilității vizibile/ascunse în loc de blocul de afișare/none
  • Utilizarea javascript inline în loc de apel de funcție
  • Testarea de la diferite mașini

Orice idei despre ce ar putea cauza asta?

9 2008-08-13T20:59:54+00:00 8
Programare
javascript
html
css
Comentarii la întrebare (0)
TheSmurf
14 august 2008 в 1:05
2008-08-14T01:05:23+00:00
Mai mult
Sursă
Editează
#10368

Check the error console (Tools Menu > Error Console in Firefox 3) to make sure that there isn't another error happening that you're not seeing, which is stopping your script from working.

0
0
Comentarii (0)
Serhat Ozgel
14 august 2008 в 1:10
2008-08-14T01:10:41+00:00
Mai mult
Sursă
Editează
#10378

Puteți oferi o marcare care reproduce eroarea? Situația dvs. trebuie să aibă legătură cu codul dvs., deoarece pot obține acest lucru pentru a lucra la IE, FF3 și Opera 9.5:

funcția arată () {   var d = document.getElementById ('testdiv');   d.style.display = 'bloc'; }
  #testdiv {
  poziția: absolută;
  înălțime: 20px;
  lățime: 20px;
  afișare: niciunul;
  fundal-culoare: roșu;
}  

Dă clic pe mine

0
0
Comentarii (0)
Lance Fisher
14 august 2008 в 3:36
2008-08-14T03:36:09+00:00
Mai mult
Sursă
Editează
#10485

Încercați să setați înălțimea și lățimea divului și asigurați-vă că acesta este în partea superioară, stabilind indexul său z mai mare decât orice altceva. Dacă div poziția absolută este în interiorul unui element relativ poziționat, locația de sus și de stânga se bazează pe partea superioară și pe partea stângă a elementului relativ poziționat. Încercați să vă puneți divultura sub elementul corpului.

0
0
Comentarii (0)
palmsey
14 august 2008 в 7:23
2008-08-14T19:23:10+00:00
Mai mult
Sursă
Editează
#11197

Deoarece setarea proprietăților cu javascript nu părea să funcționeze, dar setarea utilizând inspectarea Firebug a făcut-o, am început să bănuiesc că selectorul de javascript ID a fost spart - poate că au existat mai multe elemente în DOM cu același ID? Sursa nu a arătat că au existat, dar prin looping prin toate divs folosind javascript am constatat că acesta este cazul. Iată funcția pe care am terminat-o pentru a afișa pop-ul:

function openPopup(popupID)
{
  var divs = getObjectsByTagAndClass('div','popupDiv');
  if (divs != undefined && divs != null)
  {
    for (var i = 0; i < divs.length; i++)
    {
      if (divs[i].id == popupID)
        divs[i].style.display = 'block';        
    }
  }
}

(funcția utilitate getObjectsByTagAndClass nu este listată)

În mod ideal, voi afla de ce același element este inserat de mai multe ori, dar nu am control asupra platformei de redare, ci doar intrările sale.

Deci, atunci când depanem astfel de probleme, nu uitați să verificați ID-urile duplicate din DOM, care pot rupe getElementById .

Pentru toți cei care au răspuns, mulțumesc pentru ajutor!

0
0
Comentarii (0)
Utilizator anonim
29 mai 2009 в 8:55
2009-05-29T20:55:29+00:00
Mai mult
Sursă
Editează
#927045

S-a găsit răspunsul: Trebuie să utilizez următoarele pentru a face să funcționeze în ambele browsere:

document.getElementById('editRow').style.display = '';
0
0
Comentarii (0)
Paul
22 noiembrie 2009 в 12:10
2009-11-22T00:10:04+00:00
Mai mult
Sursă
Editează
#1776793

Există o eroare de afișare enervantă pe Firefox 3.5, dar nu pe IE7 sau Firefox 2.0.9

Am poziția absolută a lui DIV - prima cu text simplu; al doilea cu un meniu CSS (tip sucklefish cu UL și LI) și al treilea ditto. Al treilea nu va afișa deloc, chiar dacă codificarea a fost verificată și sa dovedit a fi perfectă cu validatorul HTML al W3C.

Ca măsură temporară, am combinat conținutul celui de-al doilea și celui de-al treilea DIV.

Lucrurile trebuie să fie rău la Mozilla atunci când IE7 și FF2 afișează OK dar nu FF 3.5

0
0
Comentarii (0)
Neal Connolly
18 aprilie 2011 в 8:12
2011-04-18T20:12:45+00:00
Mai mult
Sursă
Editează
#5705775

De fapt, am fost confruntat cu aceeași problemă pe care o descrieți aici. Ceea ce a rezolvat problema mea a fost schimbarea proprietăților documentului.

vechi DOCTYPE/html spec



Înlocuit cu


0
0
Comentarii (0)
fadzzz
5 august 2011 в 10:23
2011-08-05T10:23:51+00:00
Mai mult
Sursă
Editează
#6952255

Trebuie să scrieți o metodă window.onload :

window.onload = document.getElementById('testdiv').style.display='inline';

Sau puteți face și o variabilă:

var d = document.getElementById('testdiv');
window.onload = d.style.display = 'inline';
0
0
Comentarii (0)
Ron Lentjes
14 iunie 2013 в 7:46
2013-06-14T07:46:46+00:00
Mai mult
Sursă
Editează
#17100771

Vă dau un indiciu BIG:

...

Dacă aveți ceva în stil, atunci document.style va funcționa! Dacă ai ceva în clasă, nu se va afișa în document.style și clasa = "..." o va suprascrie!

Gândiți-vă la acest lucru și acest lucru va clarifica atât de multe aspecte. Doar această înțelegere ușoară vă va rida de acest VIRUS MIND. Să aveţi o zi bună. Noroc, Ron Lentjes, LC CLS.

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RU
© Answer-ID 2021
Sursă
https://stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire