4

我想知道你们中是否有人知道如何解决以下问题:

我有很多 div

<div id="one"></div>
<div id="two"></div>
<div id="three"></div>

他们都可以用jquery ui拖动

var $divs = $('#one, #two, #three')
$divs.draggable({   
     start: dragStart, cursor: 'move', stop: dragEnd        
      });

我想要的是实时获取拖动元素的当前位置,以便如果拖动的 div 为例如触发事件:

if($('#two').position().left <= 500) { /*baadaboom*/ }

我将 div 拖到一个点

左边是 1000px

如果它立即

小于 500 像素

它应该开火!

4

2 回答 2

5

您可以尝试以下方法

var $divs = $('#one, #two, #three')
$divs.draggable({
    start: dragStart, cursor: 'move', stop: dragEnd,
    drag: function () {
        var t = $(this), l = $(this).offset().left;
        t.text(l);

        if(l < 500){
           t.text('Badaboom');
        }
    }
});

小提琴

于 2013-05-17T09:42:32.233 回答
0

取一个全局变量 var 位置,在 div 被点击拖动时设置。然后您可以使用此变量进行比较。

于 2013-05-17T09:37:30.020 回答