Bonjour,
Comme l'indique le titre de mon topic j'utilise l'API SIMILE qui permet de construire un timeline.
Tout marche bien, cependant je veux pouvoir lorsque je clique sur un �v�nement � n'importe quel endroit de celui-ci qu'il me donne la date exacte l� o� j'ai cliqu�.
Afin de faire cela j'ai modifi� un peu l'API pour rajouter une fonction de mon cru dans leur fonction qui �coute si il y a eu un clique sur un �v�nement (que ceux qui sont de type Duration). Le probl�me �tant que lorsque j'affiche la date qu'il me renvoie selon le pixel cliqu� il y a des erreurs dans cette date. Cela va de quelques secondes au tout d�but et plus je scroll pour aller voir d'autre �v�nement plus loin plus y a un �cart important (de l'ordre de 2 � 3 heures). Je me casse la t�te depuis 3 jours d�j� � essayer de comprendre pourquoi cela ne marche pas.
Voici ma fonction qui ne fait que lancer une alert sur la date convertie � partir des pixels:
Voici leur fonction qui �coute l'endroit du clique:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 function getDateClicked(x) { var clickedDate = tl.getBand(0).pixelOffsetToDate(x); alert(clickedDate); return date; }
J'aurais voulu savoir si des gens avait essay� de faire ceci d�j� ou aurait une id�e du pourquoi il y a ce d�calage alors que l'API arrive tr�s � replacer les divs exactement o� il faut lorsqu'on lui passe des dates pour transformer en pixel etc ...
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 Timeline.DurationEventPainter.prototype._onClickDurationEvent=function(domEvt,evt,target){ domEvt.cancelBubble=true; if("pageX"in domEvt){ var x=domEvt.pageX; var y=domEvt.pageY; // TEST //alert(domEvt.pageX + " => " + this._band.pixelOffsetToDate(domEvt.pageX) + " => FF"); //TEST }else{ var c=Timeline.DOM.getPageCoordinates(target); var x=domEvt.offsetX+c.left; var y=domEvt.offsetY+c.top; // TEST //alert(domEvt.offsetX+c.left + " => " + this._band.pixelOffsetToDate(domEvt.offsetX+c.left) + " => IE"); //TEST } this._showBubble(x,y,evt); //AJOUT DE MOI getDateClicked(x); // AJOUT DE MOI };
Cordialement,
Gripsou
PS: desol� si ce n'est pas le bon forum je ne savais pas trop o� poster (C'est une API fait en Javascript et AJAX)
Partager