我的名字是Adam和我是一名初级程序员。我开始理解Jquery UI是如何工作的,但我需要一些帮助。我想拖一个小的"图像"在空白的画布上(空白" div"),当我放下它时,我想要"图像"变成一个" div"内部有特定元素。
它基本上是一种拖放,可以改变掉落的"图像"进入" div"。
我愿意接受有关如何实现这一目标的任何建议。谢谢。
答案 0 :(得分:0)
请看看这个jsfiddle:http://jsfiddle.net/5qyf6/5/
http://jqueryui.com/draggable/
var replaceImgWithContent = function ($el) {
$el.wrap($('<div></div>', {
'html': '<b>New content</b>',
'css': {
'width': $el.outerWidth() + 'px',
'height': $el.outerHeight() + 'px',
'position': 'absolute',
'left': $el.offset().left + 'px',
'top': $el.offset().top + 'px'
}
}));
$el.remove();
}
$('img').draggable({
create: function () {
$('img').on('dragstop', function (e, ui) {
div_offset = $('div').offset();
img_offset = $('img').offset();
alert('stopped');
if (img_offset.top > div_offset.top && img_offset.top < div_offset.top + $('div').outerHeight() && img_offset.left > div_offset.left && img_offset.left < div_offset.left + $('div').outerWidth()) {
replaceImgWithContent($('img'));
}
});
}
});
另一种解决方案当然是立即开始使用div包装的图像。所以你可以将draggable()应用于那个包装div,你不需要重新启动&#34;它适用于您使用的每个图像实例。