/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
onmousemove væk fra body-tag
Fra : Jimmy


Dato : 11-02-04 21:35

Hej

1)
Jeg har onMouseMove i selve body-tagget, men problemet er, at den kalder en
funktion, som henter nogle værdier omkring en billede, som ikke nødvendigvis
er loadet.

if (image.width > 500) ...

Jeg tænker man kan teste om billedet er loadet, men ved ikke hvordan?
Endnu bedre ville det være, om jeg kunne placere onMouseMove i slutningen af
dokumentet og undgå at have den i body-tagget.


2)
Af forskellige årsager kan jeg ikke placere selve funktionen i <head>
hvilket giver en "object expected" når man bevæger musen før funktionen er
loadet helt.

Man kunne evt. sætte en værdi som det sidste før </body> og teste for om den
var sat, men er der bedre metoder?


Sig til, hvis jeg mangler at give vitale informationer.

Mvh
Jimmy



 
 
Lasse Reichstein Nie~ (11-02-2004)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 11-02-04 21:51

"Jimmy" <nyhedsgruppe2001@FJERN.yahoo.co.uk> writes:

> 1)
> Jeg har onMouseMove i selve body-tagget, men problemet er, at den kalder en
> funktion, som henter nogle værdier omkring en billede, som ikke nødvendigvis
> er loadet.
>
> if (image.width > 500) ...
>
> Jeg tænker man kan teste om billedet er loadet, men ved ikke hvordan?

Der er nogle metoder der kun virker i IE (image.readyState), men jeg ville
bruge en onload event:
<img id="imgId" src="..." onload="window.MYIMAGEHASLOADED = true;">
(eller sådan noget).

> Endnu bedre ville det være, om jeg kunne placere onMouseMove i slutningen af
> dokumentet og undgå at have den i body-tagget.

Eventen registrerer kun mousemoves over det element den sidder på, så det
skal nok være på body. Du kunne vente med at sætte mousemove-handleren på
til dokumentet er loadet.

> 2)
> Af forskellige årsager kan jeg ikke placere selve funktionen i <head>
> hvilket giver en "object expected" når man bevæger musen før funktionen er
> loadet helt.

Ja. Igen, vent med at sætte den på til siden er færdig, fx:

<body onload="this.onmousemove=myMouseMoveHandler;">

> Man kunne evt. sætte en værdi som det sidste før </body> og teste for om den
> var sat, men er der bedre metoder?

Se ovenfor.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jimmy (12-02-2004)
Kommentar
Fra : Jimmy


Dato : 12-02-04 09:50


"Lasse Reichstein Nielsen" <lrn@hotpop.com> wrote in message
news:r7x1pcgy.fsf@hotpop.com...
>
> Ja. Igen, vent med at sætte den på til siden er færdig, fx:
>
> <body onload="this.onmousemove=myMouseMoveHandler;">

Det er en god ide, men jeg kan ikke få det til at fungere i min IE 6.0 UK
XP:

<html>
<body onload="this.onmousemove=mouse_move()">

<script language='JavaScript'>
function mouse_move()
{
alert ('Mouse moved');
}
</script>

</body>
</html>


Ovenstående afvikler mouse_move() een gang og kun når siden er loadet.
Den afvikles således slet ikke når musen bevæges.

Hvis jeg forsøger med følgende afvikles koden slet ikke:

<body onload="this.onmousemove='mouse_move()'">


Hvad er det jeg har misforstået?

Mvh
Jimmy



Martin Hintzmann And~ (12-02-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 12-02-04 10:18

Jimmy wrote:
>
> Hvad er det jeg har misforstået?
>

Prøv at kig på Lasses kode igen

Her er Lasses eksempel
<body onload="this.onmousemove=myMouseMoveHandler;">

Og det her er dit
<body onload="this.onmousemove=mouse_move()">

Kan du nu se forskellen?

Hintzmann c",)

Jimmy (12-02-2004)
Kommentar
Fra : Jimmy


Dato : 12-02-04 10:53


"Martin Hintzmann Andersen" <no@spam.please> wrote in message
news:c0fgbh$5as$1@sunsite.dk...
> Jimmy wrote:
> >
> > Hvad er det jeg har misforstået?
> >
>
> Prøv at kig på Lasses kode igen
>
> Her er Lasses eksempel
> <body onload="this.onmousemove=myMouseMoveHandler;">
>
> Og det her er dit
> <body onload="this.onmousemove=mouse_move()">
>
> Kan du nu se forskellen?

Kan du fortælle mig hvad forskellen betyder?
Evt. hjælpe mig med mit problem?

Jeg skal kalde en funktion hver gang musen bevæges, men ikke før hele siden
er loadet.

/Jimmy



Martin Hintzmann And~ (12-02-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 12-02-04 11:11

Jimmy wrote:
>
>
> Kan du fortælle mig hvad forskellen betyder?
> Evt. hjælpe mig med mit problem?
>
> Jeg skal kalde en funktion hver gang musen bevæges, men ikke før hele siden
> er loadet.
>
> /Jimmy
>
>

<body onload="this.onmousemove=myMouseMoveHandler;">
Ovenstående sætter eventen onmousemove på body elementet til funktionen
myMouseMoveHandler.

<body onload="this.onmousemove=mouse_move()">
Mens ovenstående køre funktionen mouse_move().

Den ene sætter mens den anden kører funktionen.

PS. Den helt korrekte formulering af det vil Lasse sikkert kunne give dig.

Hintzmann c",)

Jimmy (12-02-2004)
Kommentar
Fra : Jimmy


Dato : 12-02-04 12:08


"Martin Hintzmann Andersen" <no@spam.please> wrote in message
news:c0fjfj$pl4$1@sunsite.dk...
> Jimmy wrote:
> >
> >
> > Kan du fortælle mig hvad forskellen betyder?
> > Evt. hjælpe mig med mit problem?
> >
> > Jeg skal kalde en funktion hver gang musen bevæges, men ikke før hele
siden
> > er loadet.
> >
> > /Jimmy
> >
> >
>
> <body onload="this.onmousemove=myMouseMoveHandler;">
> Ovenstående sætter eventen onmousemove på body elementet til funktionen
> myMouseMoveHandler.
>
> <body onload="this.onmousemove=mouse_move()">
> Mens ovenstående køre funktionen mouse_move().
>
> Den ene sætter mens den anden kører funktionen.


Oki doki - Nu har jeg følgende:


<html>
<body onload="this.onmousemove=mouse_move;">

<script language='JavaScript'>
function mouse_move()
{
alert ('Mouse moved');
}
</script>

</body>
</html>


Hvis jeg har forstået dig ret er det det der skal stå, men det virker nu
ikke.

Tak for forklaringen,
Jimmy





Martin Hintzmann And~ (12-02-2004)
Kommentar
Fra : Martin Hintzmann And~


Dato : 12-02-04 12:30

Jimmy wrote:
>
> Hvis jeg har forstået dig ret er det det der skal stå, men det virker nu
> ikke.
>


Nå, følgende har jeg testet og virker i min Mozilla, MSIE6 og Opera7.

<script type="text/javascript">
   function mouse_move()
   {
      alert ('Mouse moved');
   }
   function init()
   {
      document.onmousemove = mouse_move;
   }
   window.onload = init;
</script>

Det kan sikkert forkortes endnu mere.

Hintzmann c",)

Jimmy (12-02-2004)
Kommentar
Fra : Jimmy


Dato : 12-02-04 16:00


"Martin Hintzmann Andersen" <no@spam.please> wrote in message
news:c0fo2p$k58$1@sunsite.dk...
> Jimmy wrote:
> >
> > Hvis jeg har forstået dig ret er det det der skal stå, men det virker nu
> > ikke.
> >
>
>
> Nå, følgende har jeg testet og virker i min Mozilla, MSIE6 og Opera7.

Interessant - Det virker også i min IE6, men der alerter den konstant fra
siden er loaded til jeg får slået siden ihjel.
Nogen gange kan jeg Escape mig ud af alert-boksen, men ikke altid.

Og altså også uden jeg bevæger musen og i IE6 på forskellige computere med
dit eksempel cut'n'pastet.

Hvis det virker hos dig bør det jo også virke hos mig uden ændringer.
Ser om jeg kan finde noget på google.

Tak for indsatsen,
Jimmy



Jens Gyldenkærne Cla~ (12-02-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 12-02-04 12:18

Jimmy skrev:

[Martin/Lasse]
>> <body onload="this.onmousemove=mouse_move()">

[Jimmi]
> <body onload="this.onmousemove=mouse_move;">


Der er stadig en forskel (faktisk to) - prøv at sammenligne de to
linjer nøje.


> <script language='JavaScript'>

Language-parameteren er forældet - brug type="text/javascript" i
stedet.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste