2011-02-15 82 views
3

我需要实时获得一个div的位置,我想以下几点:如何获得一个元素的位置实时

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

遗憾的是它不工作,谈话节目:'一个JQueryInstance($(this).position())'

什么是正确的方法来做到这一点?

+0

你想要建立什么? ^^ – 2011-02-15 18:39:16

+0

我试图让一些对象是互动和可拖动的,我想我要检查几种不同的方法。第一个是JQuery,但如果JQuery感觉不够自然,我也可以试试SVG。 – 2011-02-16 10:03:39

回答

2

试试这个:

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) 

在代码中,HTML jQuery的这个位置将评估一个脚本文本,因为它没有写入文件,永远不会给客户端。相反,只要回调被触发,它就会被写入抄本。为了让脚本到达客户端,使用回调:json:方法,该方法执行脚本作为参数传递给json :,使用ajax将结果传回Seaside,然后使用提交的值触发回调。