Avatar billede mik Nybegynder
27. april 2005 - 08:32 Der er 5 kommentarer og
1 løsning

Bevægelig objekt skal køre i en ramme

Tidligere spørgsmål: http://www.eksperten.dk/spm/613281

Nedenstående kode fungerer udemærket, jeg kan dog ikke få det til at fungerer i en ramme. Er der en der kan gennemskue, hvordan det kan lade sig gøre.

<html>
<script language="javascript">
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

function init() {
    if (ns4) block = document.blockDiv
    if (ie4) block = blockDiv.style
    block.xpos = parseInt(block.right)
    if (ns4) block.top = window.innerHeight-66;
    if (ie4) block.top = document.body.clientHeight-50;
}

function slide() {
    if (ns4) bred = window.innerWidth;
    if (ie4) bred = document.body.clientWidth;
    if (block.xpos < bred) {
        block.xpos += 0.8
        block.right = block.xpos
        setTimeout("slide()",5)
}
    else
    {
    restart()   
    slide()
    }
}

function restart() {
    block.xpos = -200
    block.right = block.xpos
    if (ns4) block.top = window.innerHeight-66;
    if (ie4) block.top = document.body.clientHeight-50;
}

function moveTo(obj,x,y) {
    obj.xpos = x
    obj.ypos = y
    obj.left = obj.xpos
    obj.top = obj.ypos
}
</script>

<head>



</head>

<body ONLOAD="init();slide();" style="overflow-x:hidden;overflow-y:scroll;">



<DIV ID="blockDiv" STYLE="position:absolute; right:-200; top: -1; width:193;">
<IMG SRC="buttonA.jpg" WIDTH=193 HEIGHT=50 BORDER=0>
</DIV>


</body>
</html>
</body>

</html>
Avatar billede olebole Juniormester
27. april 2005 - 11:57 #1
<ole>

Så må du prøve at lægge det i en ramme, så vi kan se, hvad du laver af fejl  :)

/mvh
</bole>
Avatar billede olebole Juniormester
27. april 2005 - 12:00 #2
Siden, du viser her, skal bare lægges i rammen - så kører det helt fint  :)
Avatar billede mik Nybegynder
27. april 2005 - 12:27 #3
Du har ret. Jeg ved ikke hvad jeg gjorde galt først, men nu virker det i en ramme. Men det giver anledning til et lille tillægsspørgsmål. Kan det lade sig gøre at objectet kører "ovenå" rammerne. Forstil dig at du har en ramme til venstre "indholdsfortegnelse" og et "hovedvindue" til højre og at objecktet bevæger sig fra den ene ramme til den anden. Jeg kunne forestille mig er en form for global opsætning, således at man ikke skal rette i alle filer.
Avatar billede olebole Juniormester
27. april 2005 - 12:37 #4
Du kan ikke få det til at virke i et frameset - men det kan godt virke på en side med en iframe:

<html>
<script language="javascript">
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

function init() {
    if (ns4) block = document.blockDiv
    if (ie4) block = blockDiv.style
    block.xpos = parseInt(block.right)
    if (ns4) block.top = window.innerHeight-66;
    if (ie4) block.top = document.body.clientHeight-50;
}

function slide() {
    if (ns4) bred = window.innerWidth;
    if (ie4) bred = document.body.clientWidth;
    if (block.xpos < bred) {
        block.xpos += 0.8
        block.right = block.xpos
        setTimeout("slide()",5)
}
    else
    {
    restart()   
    slide()
    }
}

function restart() {
    block.xpos = -200
    block.right = block.xpos
    if (ns4) block.top = window.innerHeight-66;
    if (ie4) block.top = document.body.clientHeight-50;
}

function moveTo(obj,x,y) {
    obj.xpos = x
    obj.ypos = y
    obj.left = obj.xpos
    obj.top = obj.ypos
}
</script>

<head>



</head>

<body ONLOAD="init();slide();" style="overflow-x:hidden;overflow-y:scroll;">

<iframe src="http://www.google.dk" style="width:800px;height:700px"></iframe>

<DIV ID="blockDiv" STYLE="position:absolute;right:-200px;top:-1px;width:193px;z-index:2">
<IMG SRC="buttonA.jpg" WIDTH=193 HEIGHT=50 BORDER=0>
</DIV>


</body>
</html>
</body>

</html>

Bemærk, at jeg har sat et 'z-index' på dit bevægelige div. Det beskriver z-aksen ... jo højere tal, jo tættere på dine øjne og længere fra PC'ens skrivebord optræder laget.

Læg også mærke til, at alle i CSS skal alle værdier - undtagen 0 - have enheder på ... f.eks. 'px'  ;o)
Avatar billede olebole Juniormester
27. april 2005 - 12:39 #5
- det fik jeg vist trykket lidt sært ud:
  "Læg også mærke til, at i CSS skal alle værdier - undtagen 0 - have enheder på ... f.eks. 'px'"
Avatar billede mik Nybegynder
28. april 2005 - 22:49 #6
Det virker efter hensigten, men jeg er ikke helt klar over, hvad du har gjort....
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