Reactie plaatsen 
 
Waardering:
  • 0 stemmen - gemiddelde waardering is 0
  • 1
  • 2
  • 3
  • 4
  • 5
Mijn bewegende object doet niet wat ik wil..
Auteur Bericht
yasmin__ Offline
I (L) Java
**

Berichten: 31
Lid sinds: 07-2008
Reputatie: 0
Bericht: #1
Mijn bewegende object doet niet wat ik wil..
Nou probeerde ik uit mijn hoofd een bewegend object te maken
aan de hand van een ander voorbeeld.. ik begreep de code van dat voorbeeld
wel maar als test wilde ik kijken of ik zoiets ook uit mijn hoofd
kon maken....
Ik wilde zo een effect als:

http://www.xs4all.nl/~vdnet/dom_animatie2.html

Maar nu doet mijn code het niet dus weet iemand misschien wat er fout is?

Citaat:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<style type="text/css">

#object {
border: 4px solid #000;
}
</style>
<script type="text/javascript">
function bewegen() // beweeg functie
{
var objec= document.getElementById("object");
var x= parseInt(objec.style.left);
var y= parseInt(objec.style.top);
var boven= 0;
var onder= 300;
var rechts= 300;
var links= 0;
var snelx= 2;
var snely= 2;

if(x < links || x >= rechts)
{
snelx = snelx * -2;
}
if(y < boven || y > onder)
{
snely = snely* -2;
}

document.getElementById("object").style.left= x+ snelx + "px";
document.getElementById("object").style.top= y+ snely + "px";

setTimeout('bewegen()',10); // roept zichzelf aan om het bewegen te kunnen voortsetten
}
</script>
</head>

<body onload="bewegen()">
<p id="object">object</p>

</body>
</html>
20-07-2008 18:02:21
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Anjo Offline
Ep2 Ad-
******

Berichten: 5.016
Lid sinds: 04-2006
Reputatie: 60
Bericht: #2
RE: Mijn bewegende object doet niet wat ik wil..
Wat wil je precies? Want als ik die link open, beweegt het blokje gewoon...

EDIT: Ah, dat was juist je voorbeeld, logisch dat die het doet dan:P
Kun je misschien je eigen code ergens online gooien, is makkelijker kijken:)
(Dit bericht is het laatst bewerkt op 20-07-2008 om 18:07:56 door Anjo.)
20-07-2008 18:07:03
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Emmos Offline
Webdeveloper
**

Berichten: 33
Lid sinds: 06-2007
Reputatie: 0
Bericht: #3
RE: Mijn bewegende object doet niet wat ik wil..
Anjo schreef:Kun je misschien je eigen code ergens online gooien, is makkelijker kijken:)
Is de code niet gewoon haar eigen code en het voorbeeld, datgene wat ze als resultaat wilt krijgen?
20-07-2008 18:31:26
Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Anjo Offline
Ep2 Ad-
******

Berichten: 5.016
Lid sinds: 04-2006
Reputatie: 60
Bericht: #4
RE: Mijn bewegende object doet niet wat ik wil..
Denk het wel ja, maar als code online staat, kan je mooi zien waar het mis gaat;) En zit hier nu op pc die niet zo van lokaal draaien houdt+ik ben lui:P
20-07-2008 18:47:16
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
yasmin__ Offline
I (L) Java
**

Berichten: 31
Lid sinds: 07-2008
Reputatie: 0
Bericht: #5
RE: Mijn bewegende object doet niet wat ik wil..
Anjo schreef:Denk het wel ja, maar als code online staat, kan je mooi zien waar het mis gaat En zit hier nu op pc die niet zo van lokaal draaien houdt+ik ben lui

is niet mijn code hoor....die online staat.
De code hierboven is enkel het op mijn manier gemaakte object dat niet werkt..
Dus ik wilde graag weten wat er fout was aan de code die ik uit mijn hoofd
probeerde te maken, want ikzelf heb 3 uur lang zitten testen maar kwam er niet uit..
heb er tenslotte al mijn hele dag aan besteed..
(Dit bericht is het laatst bewerkt op 20-07-2008 om 19:23:08 door yasmin__.)
20-07-2008 19:14:33
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Ikke Offline
De enige echte
******

Berichten: 3.135
Lid sinds: 04-2006
Reputatie: 67
Bericht: #6
RE: Mijn bewegende object doet niet wat ik wil..
Wat werkt er precies niet?

- OOP: Make simple things complex to make complex things simple
- Op deze planeet is stompzinnigheid nu eenmaal overvloediger dan zuurstof.
- The most constant factor of software is change
20-07-2008 20:07:11
Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Matthijn Offline
Schnabbel
*****

Berichten: 5.027
Lid sinds: 04-2006
Reputatie: 47
Bericht: #7
RE: Mijn bewegende object doet niet wat ik wil..
Jquery! misschien ietwat overkill, maar geloof me, straks wil je niet meer anders!
http://www.jquery.com, een framework voor vanalles en nogwat, en ook animeren :)

Onder andere is de Animatie functie iets wat je waarschijnlijk nodig zult hebben, http://docs.jquery.com/Effects/animate#p...ngcallback

Het lijkt misschien wat onlogisch, maar als je bij het begin begint bij jQuery, wijst het zich in no time vanzelf :)

[Afbeelding: signature.php]
(Dit bericht is het laatst bewerkt op 20-07-2008 om 20:28:43 door Matthijn.)
20-07-2008 20:28:15
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
MichielV Offline
ep2'er
****

Berichten: 2.326
Lid sinds: 07-2006
Reputatie: 110
Bericht: #8
RE: Mijn bewegende object doet niet wat ik wil..
Jquery is overroepen :P Echt overkill voor zoiets vind ik.

En werkt het als je in je css bij # object position: absolute zet?
21-07-2008 10:45:20
Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Matthijn Offline
Schnabbel
*****

Berichten: 5.027
Lid sinds: 04-2006
Reputatie: 47
Bericht: #9
RE: Mijn bewegende object doet niet wat ik wil..
MichielV schreef:Jquery is overroepen :P Echt overkill voor zoiets vind ik.

En werkt het als je in je css bij # object position: absolute zet?

Voor jezelf 10 regels code met een ontwikkeltijd van 5 minuten met jQuery, en anders 100 regels code met een ontwikkeltijd van 45 minuten, hmmm :P

Daarnaast is jQuery laten we zeggen 60kb, een beetje JPG plaatje stormt daar al gauw overheen.

[Afbeelding: signature.php]
21-07-2008 10:56:41
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Cuve Afwezig
Netlog Web Developer
*****

Berichten: 5.446
Lid sinds: 04-2006
Reputatie: 151
Bericht: #10
RE: Mijn bewegende object doet niet wat ik wil..
Matthijn schreef:, een beetje JPG plaatje stormt daar al gauw overheen.
Nou nou :D

21-07-2008 12:58:51
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Aries-Belgium Offline
Open Source Promotor

Berichten: 8.690
Lid sinds: 04-2006
Reputatie: 310
Bericht: #11
RE: Mijn bewegende object doet niet wat ik wil..
Matthijn schreef:Daarnaast is jQuery laten we zeggen 60kb
13kb :P de minified versie is 13kb

Oké, back on topic.

Eén van de problemen is inderdaad dat het absoluut moet gepositioneerd zijn. Maar dan zal het nog niet werken. yasmin__ leest het style attribuut van het element uit maar die is helemaal niet geset. Ik denk dat ze best de offsetTop en de offsetLeft uitleest om de exacte positie te kennen van het object en daarop verder gaan. Bij die veranderingen gaat het al werken alleen blijft gaat hij niet verder gaan dan 300px omdat ze telkens de snelheid gaat resetten naar 2 en dan gaat checken of de positie van het object niet uit het opgegeven vlak komt en dan de snelheid negatief maken (eigenlijk verdubbelen en negatief maken in bovenstaande code) maar hij onthoudt het niet dus hij gaat maar wat liggen botsen in die hoek. Je moet dus de snelheid telkens meegeven met de functie. Dit is een aangepaste versie van bovenstaande code om het werkende te krijgen:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<style type="text/css">

#object {
border: 4px solid #000;
position:absolute;
}
</style>
<script type="text/javascript">
function bewegen(snelx,snely) // beweeg functie
{
var objec= document.getElementById("object");
var x= parseInt(objec.offsetLeft);
var y= parseInt(objec.offsetTop);
var boven= 0;
var onder= 300;
var rechts= 300;
var links= 0;

if(x <= links || x >= rechts)
{
snelx *=  -1;
}
if(y <= boven || y >= onder)
{
snely *=  -1;
}
document.getElementById("object").style.left= x + snelx + "px";
document.getElementById("object").style.top= y + snely + "px";

setTimeout(function(){ bewegen(snelx,snely)},10); // roept zichzelf aan om het bewegen te kunnen voortsetten
}
</script>
</head>

<body onload="bewegen(2,1)">
<span id="object">object</span>

</body>
</html>

[Afbeelding: 2wqbwas.gif]
"I like my women how I like my toast, hot and consumable with butter"
21-07-2008 14:58:44
Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Matthijn Offline
Schnabbel
*****

Berichten: 5.027
Lid sinds: 04-2006
Reputatie: 47
Bericht: #12
RE: Mijn bewegende object doet niet wat ik wil..
Cuve schreef:
Matthijn schreef:, een beetje JPG plaatje stormt daar al gauw overheen.
Nou nou :D

Dat is alleen maar om aan te geven dat het framework het gebruik 10x versimpeld, en het enige argument wat meestal wordt gegeven is de grootte, maar dat merkt niemand meer, het is binnen no time binnen, en daarna wordt het gecached :)

[Afbeelding: signature.php]
21-07-2008 15:59:37
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Aries-Belgium Offline
Open Source Promotor

Berichten: 8.690
Lid sinds: 04-2006
Reputatie: 310
Bericht: #13
RE: Mijn bewegende object doet niet wat ik wil..

Offtopic


Matthijn schreef:en daarna wordt het gecached
Als iedereen jQuery van de Google AJAX Libraries API zou includen, zal het altijd gecached zijn zelfs cross-website.

Je hoeft niet door de google.load functie te gaan. Je kan het ook rechtstreeks includen:
Code:
http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js


[Afbeelding: 2wqbwas.gif]
"I like my women how I like my toast, hot and consumable with butter"
21-07-2008 16:16:23
Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Reactie plaatsen 


Ga naar locatie:


Contact opnemen | Ep2 | Naar boven | Naar inhoud | Archiefmodus | RSS-syndicatie