我有可放置在另一個div內的任何位置的div。我可以用jquery mousemove事件做到這一點。但它不是很有效。我試圖讓鼠標光標位於移動div的中心。我設置這些css屬性與jquery 'top': relY + 30,'left': relX + 10
內聯,但沒有運氣。如提到的,我試圖讓光標在div的中間。用戶只能將移動放在名爲middle-side empty
的父分區內。 JSFIDDLE將光標置於子div的中心 - mousemove事件
我試圖完成類似這樣:http://jsfiddle.net/Lqebpaov/
的Jquery:
$('#button').click(function (e) {
$('<div />', {
class: 'draggable ui-widget-content',
text: $('textarea').val(),
appendTo: '.middle-side',
draggable: {
containment: 'parent'
}
}).addClass('placement');
$('.middle-side').parent().mousemove(function(e){
var offset = $(this).offset();
var relX = e.pageX - offset.left;
var relY = e.pageY - offset.top;
$('.placement').css({'top': relY + 30,'left': relX + 10, 'position': 'absolute'});
})
});
$('.middle-side').on('click', function(e){
var offset = $(this).offset();
var relX = e.pageX - offset.left;
var relY = e.pageY - offset.top;
$('.placement').css({'top': relY,'left': relX, 'position': 'absolute' });
$(this).off("mousemove").find('.placement').removeClass('placement')
});
HTML
<div>
<div class="middle-side empty"></div>
</div>
這太好了。我明白這更好。另外,這與你提到的任何div大小都是兼容的。是否有可能在臨時的'.placement'上設置一些覆蓋層來表示「放置在這裏」? – 2014-08-28 02:39:07
我更新了JSFIDDLE,並在更大的正方形中添加了淡入/淡出「放在這裏」。 – 2014-08-28 02:55:27
完美!我可能需要在jQuery方面進行淡入/淡出 – 2014-08-28 03:06:33