Avatar billede ballegaarden Nybegynder
17. oktober 2008 - 22:04 Der er 6 kommentarer og
1 løsning

mouseover script på billeder i højre side

En opfølgning fra denne tråd: http://www.eksperten.dk/spm/849317
vil jeg spørge evt. W13 om han har et forslag til at ændre værdien til de billeder der ligger i højre side, for når billederne popper op blinker de helt vilt, fordi musemakøren ligger på billedet. Jeg har prøvet at ændre x værdien til 0 uden held.
Se her i 2. og 3. linie: http://www.ballegaarden.com/lightcap300-billeder.html

Mit script:
          <script type="text/javascript">
function ShowBigImage(image) {
var BigImage = document.getElementById("BigImage");
BigImage.setAttribute("src",image);
}
function MoveBigImage(x, y) {
var BigImage = document.getElementById("BigImage");
BigImage.style.display = "block";
BigImage.style.left = (x+10) + "px";
BigImage.style.top = (y-50) + "px";
if (BigImage.offsetLeft + BigImage.offsetWidth > document.getElementsByTagName("body")[0].offsetWidth) {
BigImage.style.left = BigImage.offsetLeft - BigImage.offsetWidth + "px";
}
}
function HideBigImage() {
document.getElementById("BigImage").style.display = "none";
}
          </script>
Avatar billede olebole Juniormester
18. oktober 2008 - 10:41 #1
<ole>

Sålænge billedet popper op det samme sted, som der laves mouseover, har du jo et problem  =)

/mvh
</bole>
Avatar billede ballegaarden Nybegynder
18. oktober 2008 - 11:24 #2
Nu er jeg ikke expert i script, men vil gerne forstå hvor i scriptet der får billedet til at venstrestille sig, når jeg kommer ud til højre.
Hvorfor stiller det store billede sig ind over musen, også selv om jeg sætter værdien til (x+0) når billedet hopper til venstre for musen.

Jeg vil lige tilføje, som blev nævnt i forrige tråd, at scriptet virker i tabeller.
Avatar billede w13 Novice
18. oktober 2008 - 11:28 #3
Når billederne ligger til højre for musen, bruges:

BigImage.style.left = (x+10) + "px";
BigImage.style.top = (y-50) + "px";

x og y hentes fra musens placering på skærmen og de 10 og 50 px er så bare for at give en ekstra afstand fra musen.

Når billederne ligger til venstre for musen, bruges:

BigImage.style.left = BigImage.offsetLeft - BigImage.offsetWidth + "px";

som trækker billedets bredde fra den tidligere placering. Dvs. det er højreplaceringen minus billedets bredde. Her skal du nok bare have lidt ekstra afstand også:

BigImage.style.left = BigImage.offsetLeft - BigImage.offsetWidth - 50 + "px";
Avatar billede ballegaarden Nybegynder
18. oktober 2008 - 11:29 #4
Lige en ting mere. Du nævner at jeg har et problem med at billedet popper op det samme sted som jeg har mouseover. Jeg har prøvet at lave et fast sted på skærmen, men så går det bare galt der hvor de små billeder ligger bag ved stedet - de blinker vildt de store og kan ikke ses.
Hvorfor jeg laver mouse over er fordi, det er hurtigere for brugeren og så syntes jeg det er træls hele tiden at skulle klikke for at lukke et popup vindue.
Avatar billede ballegaarden Nybegynder
18. oktober 2008 - 11:34 #5
Phy - hvor har jeg prøvet meget, men når man ikke lige er ekspert .....
Du er dagens mand i skysovs, tusind tak, det var lige det der manglede.
Avatar billede w13 Novice
18. oktober 2008 - 11:36 #6
:)
Avatar billede w13 Novice
18. oktober 2008 - 11:49 #7
Tak for points!
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