jQuery UI可排序项目开始时跳转

时间:2013-05-16 16:54:37

标签: jquery jquery-ui jquery-ui-sortable

Hy先生,我有一个奇怪的问题,jQuery可排序,我不知道如何解决。

我在这里创造了一个小提琴:http://jsfiddle.net/44LgX/

我的js代码:

jQuery( document ).ready( function() {

$( '.v-content-container' ).sortable({
    placeholder : 'v-column-placeholder',
    start       : function( e, ui ){
        ui.placeholder.width( ui.item.width() );
        ui.placeholder.height( ui.item.height() );
    }
});

});

基本上,每行包含两列,可在该行中排序。为什么3排?仅用于演示目的,计数无关紧要。

现在,您可以尝试将第二列拖到第一个位置来演示此问题。您会注意到,在您开始拖动之后,元素将跳出指向屏幕左下角的指针。

现在,我做了一些挖掘,似乎我不是唯一一个有这个问题的人。建议的解决方案是使用helper:clone作为可排序的参数,但这不符合我的需要,我也想解决我的原始问题,而不是绕过它。

感谢任何帮助或见解,谢谢!

2 个答案:

答案 0 :(得分:1)

这是一个开始的地方,因为我必须去参加一个会议。

当我摆脱你所有的CSS时,没有问题。 fiddle with bare bones css

然而,它看起来像垃圾。如何找到违规的CSS?我去二元搜索。摆脱一半的CSS,仍有问题 - >不,加上剩余缺失的css的1/2 - >是的,删除1/2加载的CSS。重复,直到你接近有问题的线。

我正在寻找令人讨厌的css atm,但是如果你打败我,可以随意发布自己的答案。到目前为止,由于这些线条,出现了“点击移动项目”问题。 :

.v-row-fluid .v-span12 {
    width: 100%;
    *width: 99.94680851063829%;
}

.v-row-fluid .v-span11 {
    width: 91.48936170212765%;
    *width: 91.43617021276594%;
}

.v-row-fluid .v-span10 {
    width: 82.97872340425532%;
    *width: 82.92553191489361%;
}

.v-row-fluid .v-span9 {
    width: 74.46808510638297%;
    *width: 74.41489361702126%;
}

.v-row-fluid .v-span8 {
    width: 65.95744680851064%;
    *width: 65.90425531914893%;
}

.v-row-fluid .v-span7 {
    width: 57.44680851063829%;
    *width: 57.39361702127659%;
}

.v-row-fluid .v-span6 {
    width: 48.93617021276595%;
    *width: 48.88297872340425%;
}

.v-row-fluid .v-span5 {
    width: 40.42553191489362%;
    *width: 40.37234042553192%;
}

.v-row-fluid .v-span4 {
    width: 31.914893617021278%;
    *width: 31.861702127659576%;
}

.v-row-fluid .v-span3 {
    width: 23.404255319148934%;
    *width: 23.351063829787233%;
}

.v-row-fluid .v-span2 {
    width: 14.893617021276595%;
    *width: 14.840425531914894%;
}

.v-row-fluid .v-span1 {
    width: 6.382978723404255%;
    *width: 6.329787234042553%;
}

答案 1 :(得分:1)

zoomscale / scale3d会导致此问题。请参阅this question

原因? jQuery-ui不会将比例值计入其拖动偏移量。