webForumDet fria alternativet

Strul med popup i Firefox

5 svar · 592 visningar · startad av BeEss

BeEssMedlem sedan jan. 200524 inlägg
#1

Jag lade in en funktion - med hjälp av CSS och JavaScript - som ska visa en liten presentationsbild uppe i vänstra hörnet på hemsidan när muspekaren för över en textlänk. I IE och Opera funkar det utmärkt men i Firefox vill det inte funka så länge jag kör med någon som helst doctype som ställer in webbläsaren i "standards mode" (t.ex. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"> ). Struntar jag i att deklarera doctype eller om jag använder en doctype som som inte ställer läsaren i "standards mode" så funkar det även i Firefox. Koden ser ut som nedan:

/*deklaration i CSS-filen*/
#minbild1
{
position: absolute;
left: 10px;
top: 10px;
z-index: 10;
display: none;
}

/*javascriptfunktioner i sidhuvudet*/
function visabild()
{
document.all.minbild1.style.display='block';
}
function doljbild()
{
document.all.minbild1.style.display='none';
}

/*anrop av funktionerna i en textlänk*/
<a href="#" class="vmeny3" style="cursor: default;" onMouseOver="visabild();" onMouseOut="doljbild();">

/*boxen där bilden ligger*/
<div id="minbild1">
<img src="bs.jpg" alt="" style="border: 1px solid #333333;">
</div>

Så ser det ut och frågan är nu alltså varför Firefox vägrar att visa bilden tillsammans med den doctype jag vill använda när det funkar utan problem i IE och Opera. Någon som vet?

OK jag kan ju altid använda en enklare Ajax-funktion istället men jag tycker inte jag ska behöva använda mig av sånt för att få det här att funka. Har ni några förslag?

BeEssMedlem sedan jan. 200524 inlägg
#2

Jag har nu fått en lösning på det hela. Så lägg inte ner tankekraft på det här i onödan :-)

@ndersMedlem sedan juni 200026 914 inlägg
#3
  1. Visa oss din lösning
  2. markera inlägget med din lösning som "accepterat svar"
  3. använd [kod]-taggar när du postar kod.

Då blir vi andra riktigt, riktigt glada! (y)

BeEssMedlem sedan jan. 200524 inlägg
#4

@nders skrev:

  1. Visa oss din lösning
  2. markera inlägget med din lösning som "accepterat svar"
  3. använd [kod]-taggar när du postar kod.

Då blir vi andra riktigt, riktigt glada! (y)

Självklart vill jag göra er alla riktigt, riktigt glada :) så här kommer den f.ö. mycket enkla lösningen på problemet.

Byt bara ut:

function visabild()
{
document.all.minbild1.style.display='block'; 
}
function doljbild()
{
document.all.minbild1.style.display='none'; 
}

och ersätt med följande:

function visabild()
{
	document.getElementById('bildvisningsdiven').style.display='block';	
}
function doljbild()
{
	document.getElementById('bildvisningsdiven').style.display='none';	
}

Så funkar det även i Firefox.

F.ö. så brukar jag försöka undvika att diskriminera 640x480-surfare :h

BeEssMedlem sedan jan. 200524 inlägg
#5

Det blev av någon anledning ett extra mellanslag mellan ' och block resp. none i sista inlägget. Det ska naturligtvis vara 'block' resp. 'none' utan det extra mellanslaget.

silfverMedlem sedan apr. 20039 709 inlägg
#6

BeEss skrev:

Det blev av någon anledning ett extra mellanslag mellan ' och block resp. none i sista inlägget. Det ska naturligtvis vara 'block' resp. 'none' utan det extra mellanslaget.

Du kan redigera ditt inlägg ovan genom att klicka på länken redigera.

Genererad på 372 ms · cache AV · v20260730165559-full.f96bc7eb