2011-02-15 6 views
3

position d'un élément que je dois obtenir la position d'un div en temps réel, et je suis en train ce qui suit:Comment obtenir en temps réel

html div 
    id: 'square'; 
    script: (html jQuery new draggable 
    onStop: (html jQuery ajax 
     callback: [Transcript show: html jQuery this position])). 

Malheureusement, il ne fonctionne pas, les spectacles de transcription : 'a JQueryInstance ($ (this) .position())'

Quelle est la bonne façon de procéder?

+0

Qu'essayez-vous de construire? ^^ –

+0

J'essaye d'obtenir des objets interactifs et draggables, et je suppose que je vais vérifier quelques approches différentes. Le premier est JQuery, mais je peux aussi essayer SVG si JQuery ne me semble pas assez naturel. –

Répondre

2

Essayez ceci:

html div 
    id: 'square'; 
    script: (html jQuery this draggable 
    onDrag: ((html jQuery script: 
    [:builder | builder << (builder jQuery get          
     callback: [ :value | Transcript show: (value at: 'top')@(value at: 'left')] 
     json: (builder jQuery this position)). 
    ]) asFunction: #(event ui) 

Dans votre code, html jQuery cette position évaluera à un script texte qui ne fait jamais au client parce qu'il est pas écrit dans le document. Au lieu de cela, il est écrit dans la transcription, à chaque fois que le rappel est déclenché. Pour obtenir le script sur le client, utilisez la méthode callback: json: qui exécute le script passé en argument à json :, transfère le résultat à Seaside en utilisant ajax, puis déclenche le callback avec la valeur soumise.

+0

Merci, cela a fonctionné, et maintenant je comprends :) –