Avatar billede compilos Nybegynder
04. februar 2004 - 12:55 Der er 12 kommentarer og
2 løsninger

Layers der skifter position

Jeg har 4 billeder og 4 layers

Ønsker hjælp til følgende

Når jeg kører musen over billed1, skal layers 1 komme frem.

Eksempel.:
Den skal komme fra top=0, left=0 scolle til top=100, left=100.
Når musen fjernes igen, skal den kører tilbage til top=0, left=0. (ligesom timeline i DW).
Det samme for billed2,3,4 - men det er sikkert samme kode.

Vh
Compilos
Avatar billede skovenborg Nybegynder
04. februar 2004 - 15:31 #1
Tænker du på noget i den her stil (ikke testet):
<style type="text/css">
#boks {
  position:absolute;
  left:0px;
  top:0px;
  width:200px;
  height:100px;
  border:1px solid #000;
  background-color:#fff;
}
</style>
<script type="text/javascript">
function flytBoks()
{
  box = (document.all) ? document.all["boks"] : document.getElementById("boks");
  box.style.left = "100px";
  box.style.top = "100px";
}
</script>
<body>
<div id="boks">Denne boks skal så flytte sig</div>
<img src="billed1.png" onmouseover="flytBoks();">
<img src="billed2.png" onmouseover="flytBoks();">
<img src="billed3.png" onmouseover="flytBoks();">
<img src="billed4.png" onmouseover="flytBoks();">
</body>
Avatar billede skovenborg Nybegynder
04. februar 2004 - 16:24 #2
okay - den skal jo også tilbage igen. Og måske vil du have lidt scroll-effekt på. Så tror jeg hellere du vil synes om den her :-)

<html>
<head>
<style type="text/css">
#boks {
  position:absolute;
  width:200px;
  height:100px;
  border:1px solid #000;
  background-color:#fff;
}
</style>
<script type="text/javascript">
var timer;
var active = false;
var speedX = speedY = 5;
var timeoutSpeed = 50;
var ID = "boks"
function scrollBoks(posX,posY)
{
  window.clearTimeout(timer);
  box = document.getElementById(ID);
  x = parseInt(box.style.left);
  y = parseInt(box.style.top);
  if (x == posX && y == posY);
  else {
    box.style.left = (x > posX && x != posX) ? x-speedX+"px" : x+speedY+"px";
    box.style.top = (y > posY && x != posY) ? y-speedY+"px" : y+speedY+"px";
    timer = window.setTimeout("scrollBoks("+posX+","+posY+");",timeoutSpeed);
  }
}
</script>
</head>
<body>
<div id="boks" style="left:0px;top:0px">Denne boks skal så flytte sig</div>
<img src="billede1.png" onmouseover="scrollBoks(100,100);" onmouseout="scrollBoks(0,0);">
<img src="billed2.png" onmouseover="scrollBoks(100,100);" onmouseout="scrollBoks(0,0);">
<img src="billed3.png" onmouseover="scrollBoks(100,100);" onmouseout="scrollBoks(0,0);">
<img src="billede4.png" onmouseover="scrollBoks(100,100);" onmouseout="scrollBoks(0,0);">
</body>
</html>
Avatar billede skovenborg Nybegynder
04. februar 2004 - 16:30 #3
virker dog ikke særlig godt hvis du scroller til fx 100,200 :-(
Avatar billede roenving Novice
04. februar 2004 - 17:55 #4
-- og lidt udvidelse til skovenborgs ellers udmærkede script:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Vis og scroll</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.boks {
  position:absolute;
  width:200px;
  height:100px;
  border:1px solid #000;
  background-color:#fff;
}
img{
  width:300px;
  height:300px;
}
</style>
<script type="text/javascript">
var timer = new Array();
var active = false;
var speedX = speedY = 5;
var timeoutSpeed = 50;
var ID = "boks"
function scrollBoks(n,act,posX,posY)
{
  window.clearTimeout(timer[n]);
  box = document.getElementById(ID+n);
  box.style.display = "block";
  x = parseInt(box.style.left);
  y = parseInt(box.style.top);
  if (x == posX && y == posY){
    if(act==0)box.style.display = "none";
  }else {
    box.style.left = (x > posX && x != posX) ? x-speedX+"px" : x+speedY+"px";
    box.style.top = (y > posY && x != posY) ? y-speedY+"px" : y+speedY+"px";
    timer[n] = window.setTimeout("scrollBoks("+n+","+act+","+posX+","+posY+");",timeoutSpeed);
  }
}
</script>
</head>
<body>
<img src="billede1.png" onmouseover="scrollBoks(1,1,100,100);" onmouseout="scrollBoks(1,0,0,0);">
<img src="billed2.png" onmouseover="scrollBoks(2,1,100,100);" onmouseout="scrollBoks(2,0,0,0);">
<img src="billed3.png" onmouseover="scrollBoks(3,1,100,100);" onmouseout="scrollBoks(3,0,0,0);">
<img src="billede4.png" onmouseover="scrollBoks(4,1,100,100);" onmouseout="scrollBoks(4,0,0,0);">
<div class="boks" id="boks1" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 1</div>
<div class="boks" id="boks2" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 2</div>
<div class="boks" id="boks3" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 3</div>
<div class="boks" id="boks4" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 4</div>
</body>
</html>
Avatar billede roenving Novice
04. februar 2004 - 17:59 #5
-- og den havde i hvert fald ikke problemer i IE6 eller Mozilla 1.5 ...
Avatar billede skovenborg Nybegynder
04. februar 2004 - 19:02 #6
tjaa, troede ellers det bare var den samme boks der skulle flyttes ;-)

Tak for udvidelsen :-)
Avatar billede compilos Nybegynder
04. februar 2004 - 21:34 #7
Syntes i begge skal ligge et svar :-)
Avatar billede skovenborg Nybegynder
04. februar 2004 - 22:36 #8
jamen helt i orden da :-)
Avatar billede roenving Novice
05. februar 2004 - 08:55 #9
Velbekomme '-)
Avatar billede compilos Nybegynder
06. februar 2004 - 11:04 #10
Løsning er OK, men hvis i lige kan ryste det ud af ærmet, det vil være KANON hvis man også kunne få den til ændre bredden og højden på layert. - Så den starter med 0,0 og f.eks ender med 100,100.

Compilos
Avatar billede roenving Novice
06. februar 2004 - 13:54 #11
Det er da absolut muligt at gøre ...
Avatar billede roenving Novice
06. februar 2004 - 13:58 #12
Der skulle lige ændres i 5 linjer !-)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Vis og scroll</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.boks {
  position:absolute;
  width:0px;
  height:0px;
  border:1px solid #000;
  background-color:#fff;
  overflow:hidden;
}
img{
  width:300px;
  height:300px;
}
</style>
<script type="text/javascript">
var timer = new Array();
var active = false;
var speedX = speedY = 5;
var timeoutSpeed = 50;
var ID = "boks"
function scrollBoks(n,act,posX,posY)
{
  window.clearTimeout(timer[n]);
  box = document.getElementById(ID+n);
  box.style.display = "block";
  x = parseInt(box.style.left);
  y = parseInt(box.style.top);
  if (x == posX && y == posY){
    if(act==0)box.style.display = "none";
  }else {
    box.style.width = box.style.left = (x > posX && x != posX) ? x-speedX+"px" : x+speedY+"px";
    box.style.height = box.style.top = (y > posY && x != posY) ? y-speedY+"px" : y+speedY+"px";
    timer[n] = window.setTimeout("scrollBoks("+n+","+act+","+posX+","+posY+");",timeoutSpeed);
  }
}
</script>
</head>
<body>
<img src="billede1.png" onmouseover="scrollBoks(1,1,100,100);" onmouseout="scrollBoks(1,0,0,0);">
<img src="billed2.png" onmouseover="scrollBoks(2,1,100,100);" onmouseout="scrollBoks(2,0,0,0);">
<img src="billed3.png" onmouseover="scrollBoks(3,1,100,100);" onmouseout="scrollBoks(3,0,0,0);">
<img src="billede4.png" onmouseover="scrollBoks(4,1,100,100);" onmouseout="scrollBoks(4,0,0,0);">
<div class="boks" id="boks1" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 1</div>
<div class="boks" id="boks2" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 2</div>
<div class="boks" id="boks3" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 3</div>
<div class="boks" id="boks4" style="left:0px;top:0px;display:none;">Denne boks skal så flytte sig<br><br>Info om billede 4</div>
</body>
</html>
Avatar billede compilos Nybegynder
06. februar 2004 - 19:40 #13
Roenving -> Tak for hjælpen.

/Compilos
Avatar billede roenving Novice
07. februar 2004 - 06:11 #14
U'r welcome -- og 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