1

我正在尝试使用 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 fiddle 链接来帮助说明我的意思。希望它有所帮助。 http://jsfiddle.net/metallikat79/RCGDH/

4

1 回答 1

1

猜出来了。所需要的只是一行代码用于包含并传递一组坐标作为限制,即;

containment: [0, 0, 200, 0]

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

于 2012-07-31T08:37:44.527 回答