Javascript 当包含元素具有滚动条时,如何正确地网格化?

Javascript 当包含元素具有滚动条时,如何正确地网格化?,javascript,jquery,jquery-ui,jquery-ui-draggable,Javascript,Jquery,Jquery Ui,Jquery Ui Draggable,请先理解我的英语!!! 我正在做一个时间表项目拖动!我在拖动元素(事件)以更新事件时遇到问题。我使用50px将半小时设置为一个td,因此我可以轻松地使用网格[50,0]进行拖动。在当前视图元素中这是可以的,但在我拖动到可滚动的包含部分后,网格没有采用正确的像素!如何在可滚动的包含元素中正确拖动网格 在我不断解决我的问题之后!我自己也得到了一些可能的答案!在滚动模式下,我通过droppable drop方法检测到网格不正确!在这里,我检查我的拖动元素达到了哪个td间隔,并得到最近的td偏移量。这

请先理解我的英语!!! 我正在做一个时间表项目拖动!我在拖动元素(事件)以更新事件时遇到问题。我使用
50px
将半小时设置为一个td,因此我可以轻松地使用
网格[50,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;
            }   
        });
    }
});
$(“tbody tr”)。可拖放({
drop:函数(e,ui){
var-same=false;
$(“td”)。每个(函数(){
log($(this.offset().left+“==”++$(ui.helper.offset().left);
if($(this.offset().left==$(ui.helper.offset().left){
相同=正确;
返回false;
}           
});
如果(相同){
返回false;
}
$(“td”)。每个(函数(){

如果($(此).offset().left在我不断解决我的问题之后!我自己得到了一些可能的答案!在滚动模式下,我通过
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;
            }   
        });
    }
});
$(“tbody tr”)。可拖放({
drop:函数(e,ui){
var-same=false;
$(“td”)。每个(函数(){
log($(this.offset().left+“==”++$(ui.helper.offset().left);
if($(this.offset().left==$(ui.helper.offset().left){
相同=正确;
返回false;
}           
});
如果(相同){
返回false;
}
$(“td”)。每个(函数(){
if($(this).offset().left)