• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Javascript- Bild zufällig bestimmen

JOhannski

Neues Mitglied
Guten Abend!

Ich bin gerade dabei ein bisschen Javascript zu lernen. Ich versuche dabei so flexible Sachen wie nur möglich zu basteln. Zur Zeit will ichs schaffen das sich leute von a nach b bewegen und sich ihre outfits auch ändern können.

Das mit dem bewegen klappt schon ganz gut, beim Grafik austauschen gibts aber noch probleme.

Mein fabrizierter Code sieht so aus:

Code:
<html>
<head>
<title>Homepage von Johannes Deml</title>
<style type="text/css">
@import "website.css";
</style>

<script language="JavaScript" type="text/javascript">
<!--

var ie  =(document.all)?1:0;
var DOM =(document.getElementById&&!document.all)?1:0;
var ns  =(document.layers)?1:0;
X=(ns||DOM)?window.innerWidth:window.document.body.clientWidth;
var timer=20;

var personenbild = new Array();
personenbild[0] = new Image(); personenbild[0].src = "images/m_n.gif";
personenbild[1] = new Image(); personenbild[1].src = "images/w_n.gif";
personenbild[2] = new Image(); personenbild[2].src = "images/m_s.gif";

function globalcontrolpersonen()
{
  var index = Math.floor(Math.random() * 3);
  document.img_person1.src = personenbild(index).src;
}

function moove(obj,startx,starty,endx,endy,stufe){

 if (ie) {
 document.all["person"+obj].style.left=startx;
 document.all["person"+obj].style.top =starty;
 }
 if (DOM) {
 document.getElementById("person"+obj).style.left=startx;
 document.getElementById("person"+obj).style.top =starty;
 }
 if (ns) {
 document.layers["person"+obj].left=startx;
 document.layers["person"+obj].top =starty;
 }
 
 startx+=(endx-startx)/stufe;
 starty+=(endy-starty)/stufe;

 if(stufe>0)
  setTimeout('moove('+obj+','+startx+','+starty+','+endx+','+endy+','+(stufe-1)+')',timer);
}

//-->
</script>

</head>
<body>

<div onclick="  globalcontrolpersonen();">
<h1>wechsel!</h1>
</div>

<div onclick="  moove(1,   3*X/4,   700, 30,  700, 500);">
<h1>geh!</h1>
</div>
<div id="person1" style="position:relative;">
<img src="images/w_n.gif" name="img_person1">
</div>





</body>
</html>

Und im Browser schauts so aus: Homepage von Johannes Deml

Ich hoffe es hat irgendjemand einen plan wo das Problem liegt

Lg
Johannski
 
Werbung:
Wenn Du eine Array-Position ansprechen willst, geht das mit eckigen Klammern, nicht mit geschweiften:

Code:
personenbild[COLOR=red][[/COLOR]index[COLOR=red]][/COLOR].src

Bei mir klappt das mit dem Bewegen aber nicht sauber. Da verlängert sich immer nur der horizontale Scrollbalken ohne, dass man etwas sieht. Solltest Du dir im Firefox mal anschauen.
 
Ah Super, ich bin auch ein depp!

Ich glaub du musst nur runterscrollen, die fahren/gehen nämlich am Gras ;)
Soweit ich mir das mal angeschaut hab, gibts "nur" Probleme beim IE, mal schauen ob sich da noch was machen lässt. Aber du hast recht, dass die scrollbar plötzlich nach rechts extrem erweitert wird, ist sonst auch in allen Browsern und sehr komisch!
 
Werbung:
Zurück
Oben