Avatar billede etrebla Nybegynder
29. oktober 2001 - 14:59 Der er 9 kommentarer og
2 løsninger

flytte billede

hvordan flytter jeg et billede rundt på skærmen, så det f.eks starter i øverste venstre hjørne og bevæger sig henover skærmen til øverste højre hjørne?
Avatar billede bamzen Nybegynder
29. oktober 2001 - 15:02 #1
Gå ind på http://www.dansteinman.com/dynduo

Læs omkring \"sliding\"

/Martin
Avatar billede Slettet bruger
29. oktober 2001 - 15:07 #2
Se DynamicDrive\'s fantastiske script på http://www.dynamicdrive.com/dynamicindex11/pathgenerate.htm
Dér kan du 100% selv bestemme objektets bane på siden!
Avatar billede bamzen Nybegynder
29. oktober 2001 - 15:10 #3
Det kan du også med dan steinman\'s dyopath,, der kan du endda tegne stien på skærmen, som i en slags tegne/animationsprogram ;-)
Avatar billede Slettet bruger
29. oktober 2001 - 15:15 #4
Ja, men den melder fejl i IE5:
http://www.dansteinman.com/dynduo/duopath/duopath.html
\"\'Error: this.frame.document.all[...].style\' is not an object\'
???
Avatar billede jakoba Nybegynder
29. oktober 2001 - 15:15 #5
i head:
<script language=\'javascript\'> <!--

var popWin;
var posX, posY;
var stepX = 10;
var stepy = 10;

function openWin( ) {
    popWin = window.open( \'billde.jpg\', \'vinnavn\', \'width=300,height=200\');
    posX = 0;
    posY = 0;
    popWin.moveTo( posX, posY ); // sæt billedet i startposition.
    setTimeout( \"flytBilled()\", 50 );  //begund flytteriet.
}; //end openWin( )

function flytBilled( ) {
    if ( posX+stepX < 0 || posX+300+stepX > screen.width ) stepX = -stepX;
    if ( posY+stepY < 0 || posY+200+stepY > screen.height ) stepY = -stepY;
    posX = posX +stepX;
    posY = posY +stepY;
    if ( popWin && popWin.moveTo ) {
        popWin.moveTo( posX, posY );
        setTimeout( \"flytBilled()\", 50 );
    }
}; //end flytBilled( )

// --> </script>

du kan så starte det omkringfarende vindue med:

  <a href=\'java script:void( openWin() )\'>start billede</a>
og stoppe det med:
  <a href=\'java script:void( popWin.close() )\'>stop billede</a>

mvh JakobA
Avatar billede Slettet bruger
29. oktober 2001 - 15:17 #6
etrebla>> Med mindre, du kan bruge jakoba\'s vindue-script, så giv os nogle specifikke retningslinjer at arbejde efter! Så skal vi nok finde en løsning! :-)
Avatar billede etrebla Nybegynder
29. oktober 2001 - 15:21 #7
jeg sidder og er ved at rette dansteinmans script til, har ikke kigget på dynamicdrive endnu, men det lyder også ok .... det skal ikke være et særskilt vindue, det skal køre som øverste lag på en eksisterende side
Avatar billede etrebla Nybegynder
29. oktober 2001 - 15:24 #8
...dog ville det være rart hvis jeg kunne finde højde og bredde på brugerens browser så jeg kunne ramme bunden og højre side uanset opløsning - men det er måske et nyt spørgsmål
Avatar billede Slettet bruger
29. oktober 2001 - 15:38 #9
<script>
bredde = 100; //Billedets bredde i pixels!
hojde = 100; //Billedets højde!
foroeg = 10; //Så mange pixels, billedet skal rykke med pr. tidsenhed!
hast = 100; //Timeout\'et i millisekunder mellem billedets ryk!
vb = (navigator.appName == \"Netscape\") ? window.innerWidth - 16 : document.body.scrollWidth - 20;
vh = (navigator.appName == \"Netscape\") ? window.innerHeight : document.body.scrollHeight;

nyDom = document.getElementById;
ie4 = document.all;
ns4 = document.layers;
l = 0;
t = 0;

function bevaeg() {
if (navigator.appName != \"Netscape\" && navigator.appName != \"Microsoft Internet Explorer\") return;
if (l <= vb - bredde && h <= vh - hojde) {
l += foroeg;
if (nyDom) {
document.getElementById(\"billede\").style.left = l;
document.getElementById(\"billede\").style.top = t;
}
else if (ie4) {
document.all.billede.style.left = l;
document.all.billede.style.top = t;
}
else if (ns4) {
document.billede.left = l;
document.billede.top = t;
}
setTimeout(\"bevaeg()\",hast);
}
else {
if (nyDom) {
document.getElementById(\"billede\").style.left = vb - bredde;
document.getElementById(\"billede\").style.top = vh - hojde;
}
else if (ie4) {
document.all.billede.style.left = vb - bredde;
document.all.billede.style.top = vh - hojde;
}
else if (ns4) {
document.billede.left = vb - bredde;
document.billede.top = vh - hojde;
}
}
}
</script>
Avatar billede Slettet bruger
29. oktober 2001 - 15:38 #10
Ups! Efter linjen:
l += foroeg;
skal du indsætte:
t += foroeg;
Avatar billede Slettet bruger
29. oktober 2001 - 15:44 #11
Og så selvfølgelig:

<div id=\"billede\" style=\"position:absolute; top:0; left:0;\">
<img src=\"et-eller-andet.gif\">
</div>
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