Bonjour !
Tout d'abord, merci de porter attention à mon problème
Voilà :
J'essaye de générer des petits cube rouges sur un gros cube bleu.
Dis comme ça, facile.
Mais la ou ça se complique c'est que je veux maximiser le travail fait par le javacript (pour faire travailler la machine plutôt que le serveur).
Les carrés eux, sont dessinés via SVG.
alors voilà mon code :
Les fonctions JS select(e) et getMousePos(e) sont définies dans le head, elle fonctionnent.(testé séparément)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php //cube += "<g fill='red'><rect width='2' height='2' x='400' y='300'/></g>"; $dom = new DomDocument(); $dom->load('pixels.xml'); $dom->validate(); $listePix = $dom->getElementsByTagName('pixel'); echo ""; echo "<script type=\"text/javascript\"> var x = 0; var y = 0; var width = 200; var height = 200; document.write(\"<span onmousemove=\"getMousePos(event)\" onclick=\"select(event)\" ><svg width='\"+width+\"' height='\"+height+\"' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>\"); document.write(\"<g fill='blue'><rect width='\"+width+\"' height='\"+height+\"' x='\"+x+\"' y='\"+y+\"'/></g>\"); document.write(\"<g fill='red'>"; foreach($listePix as $pix){ echo "<rect width='2' height='2' x='".$pix->getAttribute("x")."' y='".$pix->getAttribute("y")."'/>"; } echo "</g></svg></span>\");</script>"; ?>
Peut-être l'aurez-vous compris, j'ai une liste (qui varie) de carrés rouges dans un fichier XML, je cherche à les afficher sur mon carré bleu.
Voire mieux, je cherche à faire en sorte que seul les endroits bleus soient cliquable(le <span 'onclick'=[...]>)... (optionnel)
Seulement mon code génère une page.... Vierge !!!
So what? Je ne sais plus quoi faire, j'ai retourné mon code dans tout les sens sans trouver d'échappatoire ! ^^
Merci d'avance à ceux qui prendront le temps de m'aider (je sais que mon code peut paraitre brouillon... la tache sera difficile ! )
Partager