【问题标题】:Jquery Drag and Drop [closed]Jquery拖放[关闭]
【发布时间】:2010-02-24 15:41:35
【问题描述】:

$(document).ready(function() {

            $("#dvv").mousedown(function() {

                $("#dvv").mousemove(function(e) {

                    $("#dvv").css({ 'margin-top': e.pageY - 15, 'margin-left': e.pageX - 15 });

                });

            });

<div id="dvv" style="background-color: Blue; width: 150px; height: 150px; margin: 250px 550px;
        cursor: move;">
        test Div
    </div>

Div Click不停的拖拽帮帮我

【问题讨论】:

  • “Div Click 不间断拖动帮助我”最佳问题 evar。
  • 你没有希望得到这样一个模糊问题的答案。详细一点。
  • 天啊,让他休息一下。他不会说英语。他想知道如何手动创建拖放功能。
  • 你的语言是什么?试着问一下。
  • 很遗憾它被关闭了。他显然不会说英语,但发布的代码让他的意图比这里许多说英语的人更清楚;除了他们没有解决他们的问题。人们没有提供一点帮助,而是嘲笑并(最初)否决了他。现在他的问题完全结束了。真可惜。

标签: jquery drag-and-drop


【解决方案1】:

请注意:我以前从未尝试过实现此功能,但这似乎是一个开始。

请注意,我从您的 div 中删除了边距,并添加了绝对定位,因此它不是您开始使用的原始元素。

希望这会给你一些工作。

更新:只是稍微改变了一下。现在,使用 offset(coordinates) 代替 css,不管边距设置如何,它都可以工作,并且不需要设置绝对定位。

<div id="dvv" style="background-color: Blue; width: 150px; height: 150px; margin: 0; cursor: move;">
test Div
</div>

$("#dvv").mousemove(function(e) {
    if($(this).hasClass('moving')) {
        $(this).offset({ 'top': (e.pageY - $(this).data('offsety')), 'left': (e.pageX - $(this).data('offsetx')) });
    }
});

$("#dvv").mousedown(function(event) {
    $(this).data('offsetx', (event.pageX - $(this).offset().left) );
    $(this).data('offsety', (event.pageY - $(this).offset().top) );
    $(this).addClass('moving')

});

$("#dvv").mouseup(function() {
    $(this).removeClass('moving')
});

【讨论】:

    【解决方案2】:

    查看 jQueryUI。它有一个“draggable”和一个“droppable”组件,可以让您使用大量示例。

    【讨论】:

    • 我想让自己准备好我不想
    猜你喜欢
    • 1970-01-01
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多