zo, eventjes hier verder, want het is hetzelfde ding waar ik mee bezig ben, alleen een andere vraag, maar dan staat het gerelateerde iig bij elkaar
Ik wat ik nu heb gedaan met die vectors is eigenljk gewoon het array object uitgebreid met een andere naam. Het maakt toch geen zak uit of Array die extra methods ook bevat eigenlijk:
Java:
1
2
3
4
| Vector = Array;
Vector.prototype.norm = function() {
// etc
} |
dit werkt iig in moz, fx, ie en opera, dus is wel goed zo
Nieuw probleem: svg dom aanpassen in js
ik heb een simpele svg dom in een xhtml document embedded, een svg element met daarin een circle element. Dat werkt, zoals ik zou verwachten (in fx)
Nu voeg ik met js wet circle elementen toe en ga ik deze vervolgens animeren, net zoals in het html voorbeeld. Ik maak dus nieuwe elementen, voeg deze toe aan de dom en verwacht beweging.
niks, nada, tenminste, niet iets wat ik kan zien
Als ik in de actuele source kijk (via fx -> view partial source), zie ik wel mooi m'n nieuwe elelementen en ze "bewegen ook" (de cx en cy veranderen), alleen zie ik ze alleen niet getekend worden.
Zie ik hier iets simpels over het hoofd?
"teken" code:
Java:
1
2
3
4
5
6
7
8
| Node.prototype.SVGdrawTo = function(canvas) {
this.el = document.createElement('circle');
this.el.setAttribute('r','10');
this.el.setAttribute('cx',this.r[0]);
this.el.setAttribute('cy',this.r[1]);
this.el.setAttribute('stroke','black');
canvas.canvasObject.appendChild(this.el);
} |
testcase (zelfde als boven, maar nu met .php om het mime type even goed te knutselen)
http://www.rikkertkoppes.com/brain2.0/network/springs.php
edit:
volgens mij zit die nieuwe node in de verkeerde namespace...
namespaceURI retourneert iig de xhtml ns, createNode() werkt helaas niet in fx en createElement('SVG:circle') boeit ook geen fluit
edit2: eureka, gefixed
createElementNS() was de key, jammer dat dit heel slecht te vinden is, overal wordt gerefereerd aan de IE createNode() method
[
Voor 27% gewijzigd door
Verwijderd op 31-01-2006 14:30
]