jQuery UI可拖动有限制

时间:2012-07-30 14:57:02

标签: jquery user-interface draggable

我正在尝试使用jquery ui创建可拖动滑动门的效果。 HTML是:

<div id ="home-elev-door" class="elev-door-wrap">           
        <div class="elev-door"></div>
</div>

我目前的代码是:

var elevWrap = $('.elev-door-wrap')

$(function() {
    $( ".elev-door" ).draggable({
        cursor: 'pointer',
        axis: 'x',
        drag : function(event, ui) { ui.position.left = onDragElev(ui.position.left); },
        });
});

function onDragElev(left){
    if ( left > 0 ) { left = 0; }
    else if ( (elevWrap.width()+left) < 27 ) { left = 27-elevWrap.width(); }
    return left;
}

这基本上做的是让我能够向左和向后滑动门并设置一个27px的限制,以确定在父div中可拖动的距离。但是,我想要做的是将其反转,以便限制仅在右侧。我尝试将“左”的所有实例更改为“右”,但这似乎不起作用。相反,它会直接拖出双方的父div。

对此的任何帮助将不胜感激。非常感谢提前。

更新:我有一个js小提琴链接来帮助说明我的意思。希望它有所帮助。 http://jsfiddle.net/metallikat79/RCGDH/

1 个答案:

答案 0 :(得分:1)

把它告诉了。所需要的只是一行代码用于包含并将一组坐标作为限制传递,即;

containment: [0, 0, 200, 0]

这是我在JS Fiddle上更新的工作示例的链接: http://jsfiddle.net/metallikat79/RCGDH/2/