javascript - 更改拖动对象并在放置后恢复它

标签 javascript jquery jquery-ui draggable droppable

请帮助我,我通常知道如何使用可拖动和可放置的类,但我找不到实现此目的的方法:

我有一个大尺寸图像,需要将其拖放到 div 中。

1)拖动时,我不想在大尺寸图像上移动,而是想使用小尺寸图像(我已经有了,只需更改 src)。

2)一旦到达目标div,我想隐藏该拖动的图像并在其原始位置再次显示大尺寸图像。

唯一的限制是:必须应用“恢复:无效”。

这是我的代码:

$("#big_img").draggable({ 
    revert: 'invalid', 
    drag : function(e, ui){
        //Change big image with a small version of it
        $(this).attr("src").replace("/Large/","/Small/"); //<--this do nothing
    }
});
$("#target").droppable({
    drop: function(e, ui) {
        alert("was added"); //<-- no problem here.
        //Restore the big_img
    }
});

谢谢。

最佳答案

我想我已经解决了:

使用“helper”,我可以实现使用其他图像,如下所示:

$("#big_img").draggable({ 
    helper: return $("<img src='"+$(this).attr("src").replace("/Large/","/Small/")+"' />");
});

我只需要将其置于鼠标光标的中心,但我认为这不会成为问题。然后, 删除删除的元素也不会成为问题。因此,我不需要恢复图像,因为它并没有真正移动。 :)

如果您有其他选择,我将很乐意阅读。

关于javascript - 更改拖动对象并在放置后恢复它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2197676/

相关文章:

JqueryUI 自动完成自动对焦覆盖我的文本输入

javascript - 将 Google 图表下载为 jpeg 而不是 png?

javascript - 如何只使 Div 可滚动而不是窗口?

javascript - 在选中时更改 td 的背景颜色

javascript - tds 中的内联编辑

javascript - jQuery 验证 addMethod 检查 field1 < field2 是否有效

jquery-ui - jqueryui的 bower 自定义构建

Javascript 测试带有键/值的哈希表

javascript - 由于位置绝对,无法更改背景大小

javascript - 如何删除列表表tr中已经存在的值?