2011-06-21 37 views
1

我有一个可拖动的元素,其中包含一个透明png来掩盖放置在可放置元素中的其他图像。现在我正在寻找另一种方法来移动可拖动元素,并用鼠标拖动它。是否有可能移动一个jQuery的可拖动元素与点击功能,并通过droppable识别?

我添加了向上/向下箭头,并为它们绑定了一个点击功能,可以将可拖动元素动画到下一个可能的droppable元素 - 动画效果很好,但可拖动元素无法识别可拖动元素,将不起作用:(

我如何去认识我的拖动元素可放开元素时,不拖,但通过点击功能移到它

- >点击此处查看:http://www.ifm-service.com/test/

拖时屏蔽图像出现 - 如果mov通过点击链接编辑没有任何反应!

+0

在jsfiddle.net上发布一个例子..你会吗?阅读这种类型的句子真的很痛苦。发布代码/示例会使问题变得更加简单 –

+0

链接添加到代码:) –

回答

0

我看到2个选项。你可以定义你overout功能不同的功能:

function overFunc){...} 
function outFunc){...} 

$(".droparea").droppable({ 
    out: outFunc, 
    over: overFunc 
}); 

然后,你可以简单地独立在需要时调用这些函数。

另一个选项是调用可放开功能像这样(未经测试,但我相信这是他们语法):

$("#droppable").droppable('option', 'out')() 

这取决于你的情况,但你可能有背景问题两种方式。第一个显然没有任何背景,所以你可以用.apply来调用它,以便使用this。第二个可以使用this来获取droppable,但如果有多个droppables,显然无法访问被丢弃的内容。

0

从我看到的问题是,当您将处理程序设置为move upmove down的点击功能时,您必须指定隐藏图像并根据当前掩码的位置调用新图像。

你可以定义单独的函数来处理。

并绑定相同的功能以点击以及拖动处理程序。为了跟踪div的当前位置有一个变量,它告诉当前位置,说

var position = 0; 

function onOUT(direction){ 
    if(direction == "up") 
    position--; 
    else 
    position++; 
    //hide current image. 
} 
function onIN() { 
    //display image at current position 
} 

注:确保onOUTonIN功能独立于它被称为地方。 (OR)。函数内部不应该决定位置或移动元素。如果它决定,那么它会给出一个错误,因为this拖动时,并使用单独的按钮指向不同的对象。

相关问题