Avatar billede phpbegynder2004 Nybegynder
13. oktober 2005 - 17:47 Der er 13 kommentarer og
1 løsning

Virker ikke i Firefox

Hej,

Jeg har et OnMouseOver-script, der åbner et stort billede, når man holder markøren over et lille. Desværre virker det kun i Explorer og ikke i Firefox. Kan i hjælpe mig?


<img  onmouseover="urlFullSizeImage = 'stor.jpg'; StartTimer ( 10,window.event.clientY, viewDelay );" onmouseout="StopTimer (); HideImage ();" src="lille.jpg"  border="0" />

<script language="javascript"autoviewer.js" type="text/javascript"></script>

<div id="viewLayer" style="LEFT: 200px; TOP: 100px; VISIBILITY: hidden; POSITION: absolute;"></div>
<SCRIPT language="javascript">objViewLayer = document.getElementById('viewLayer');</SCRIPT>
Avatar billede erikjacobsen Ekspert
13. oktober 2005 - 18:45 #1
Hvor kommer din urlFullSizeImage fra? Generelt skal du have fat i elementerne på siden med getElementById.
Avatar billede phpbegynder2004 Nybegynder
13. oktober 2005 - 19:01 #2
Herfra kommer min urlFullSizeImage (autoviewer.js):
// Globals

var objViewLayer = null;
var viewDelay = 200;
var timerID = 0;
var urlFullSizeImage = "";
var popPosX = 200;
var popPosY = 200;

// Syntax:    InitAutoViewer ( <thumbnail image object>, <fullsize view layer>, <url of fullsize image> )
function InitAutoViewer ( thumbImage, viewLayer, fullsizeURL )
{
    if ( typeof (thumbImage) != "object" )
    {
        alert ('Argument "thumbImage" is not an object');
        return;
    }

    if ( typeof (viewLayer) != "object" )
    {
        alert ('Argument "viewLayer" is not an object');
        return;
    }

    thumbImage.onmouseover = new Function ( "urlFullSizeImage='"+escape (fullsizeURL)+"'; StartTimer ( 10, 215, viewDelay );" );
    thumbImage.onmouseout = new Function ("StopTimer (); HideImage ();");

    objViewLayer = viewLayer;
    urlFullSizeImage = fullsizeURL;


   
    // for testing
    viewLayer.style.position = "absolute";
    viewLayer.style.left = popPosX;
    viewLayer.style.top = popPosY;
    viewLayer.style.visibility = "hidden";
   
}

function ShowImage ()
{
    if ( objViewLayer == null )
        return;


    objViewLayer.innerHTML = '<img src="'+unescape (urlFullSizeImage)+'">';
    objViewLayer.style.visibility = "visible";
   
   
}

function StopTimer ()
{
    if ( timerID == 0 )
        return;

    clearTimeout ( timerID );
    timerID = 0;
}

function StartTimer ( viewX, viewY, ms )
{
    if ( objViewLayer == null )
        return;

    objViewLayer.style.left = viewX;
    objViewLayer.style.top = viewY + document.body.scrollTop;
   
    timerID = setTimeout ( "ShowImage ();StopTimer ();", ms );
}

function HideImage ()
{
    if ( objViewLayer == null )
        return;

    objViewLayer.style.visibility = "hidden";
}
Avatar billede erikjacobsen Ekspert
13. oktober 2005 - 19:17 #3
Du skal nok bruge getElementById på viewLayer
Avatar billede phpbegynder2004 Nybegynder
13. oktober 2005 - 19:22 #4
Hvorhenne? Gør jeg ikke allerede det?

<SCRIPT language="javascript">objViewLayer = document.getElementById('viewLayer');</SCRIPT>
Avatar billede erikjacobsen Ekspert
13. oktober 2005 - 19:23 #5
Og andre steder gør du ikke.
Avatar billede erikjacobsen Ekspert
13. oktober 2005 - 19:24 #6
Og dog - den kommer jo med som parameter. Har du et link til siden?
Avatar billede olebole Juniormester
13. oktober 2005 - 19:51 #7
<ole>

- og så skal du endelig huske værdier:

var enLaengde = 234;
ELEMENT.style.width = enLaengde + "px";

- ellers virker det ikke i browsere, der har hørt om webstandarder  :)

/mvh
</bole>
Avatar billede olebole Juniormester
13. oktober 2005 - 19:51 #8
"- og så skal du endelig huske enheder:"

- skulle der selvfølgelig stå  ;o)
Avatar billede phpbegynder2004 Nybegynder
13. oktober 2005 - 22:36 #9
Jeg har desværre ikke et link til det, da det pt. blot ligger på min egen PC. Er der noget mere kode jeg kan give Jer?
På forhånd tak for hjælpen!
Avatar billede phpbegynder2004 Nybegynder
23. oktober 2005 - 22:15 #10
OleBole-> Hvor skal din rettelse til enhederne stå?

erikjacobsen-> Jeg er stadig ikke helt sikker på hvad du mener..

På forhånd tak for hjælpen!
Avatar billede erikjacobsen Ekspert
23. oktober 2005 - 22:16 #11
"Har du et link til siden?" - øh, hvad er det du ikke forstår?
Avatar billede olebole Juniormester
23. oktober 2005 - 22:30 #12
Der skal sættes enheder på alle værdier, du sætter på dine styles, når CSS kræver det ... f.eks. ved width, height, left, top, font-størrelser, m.m.  :)
Avatar billede phpbegynder2004 Nybegynder
24. oktober 2005 - 16:05 #13
Kommentar:
phpbegynder2004
13/10-2005 22:36:00
"Jeg har desværre ikke et link til det, da det pt. blot ligger på min egen PC. Er der noget mere kode jeg kan give Jer?"

Kan jeg ikke blot give noget mere kode? Hvad er det af infomation der behøves for at problemet kan findes?
Avatar billede phpbegynder2004 Nybegynder
06. november 2005 - 17:17 #14
Fair nok...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester