【问题标题】:How to grid correctly when containment element has scrollbar?当包含元素有滚动条时如何正确网格?
【发布时间】:2017-06-28 07:45:15
【问题描述】:
请先看懂我的英文!!!
我正在为一个进度项目拖拖拉拉!我在拖动元素(事件)来更新事件时遇到了麻烦。我将半小时设置为一个 td 与 50px,所以我可以轻松地使用 grid [50,0] 拖动。在当前视图元素中可以,但在我拖动到可滚动包含部分后网格没有采用正确的像素!如何在可滚动包含元素中正确拖动网格!
JS Fiddle Link
【问题讨论】:
标签:
javascript
jquery
jquery-ui
jquery-ui-draggable
【解决方案1】:
在我不断解决我的问题之后!我自己得到了一些可能的答案!我在滚动模式下通过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;
}
});
}
});