当包含元素有滚动条时如何正确网格?

时间:2017-06-28 07:45:16

标签: javascript jquery jquery-ui jquery-ui-draggable

请先了解我的英语! 我正在拖动一个计划项目!我在拖动元素(事件)以更新事件时遇到了麻烦。我用50px将半小时设置为td,因此我可以轻松地使用grid [50,0]进行拖动。在当前视图元素中可以正常但是在我拖入之后可滚动的包含部分网格没有采取正确的像素!如何在可滚动的包含元素中使用gird正确拖动!

JS Fiddle Link enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

在我不断解决我的问题之后!我自己得到了一些可能的答案!我通过droppable drop方法在滚动模式下检测到错误的网格!在那里,我检查我的拖动元素到达了哪个td间隔并获得最接近的td偏移。这样,我可以在滚动模式下拖动时解决我的正确网格

$("tbody tr").droppable({
    drop:function(e,ui){        
        var same = false;
        $("td").each(function(){
            console.log($(this).offset().left +"=="+ $(ui.helper).offset().left);
            if($(this).offset().left == $(ui.helper).offset().left){
                same = true;
                return false;
            }           
        });
        if(same) {
            return false;
        }
        $("td").each(function(){
            if($(this).offset().left <= $(ui.helper).offset().left && $(ui.helper).offset().left <= $(this).next().offset().left){              
                $(ui.helper).css("left",$(this).offset().left - $(ui.helper).parent().offset().left);
                return false;
            }   
        });
    }
});