我正在尝试使用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/
答案 0 :(得分:1)
把它告诉了。所需要的只是一行代码用于包含并将一组坐标作为限制传递,即;
containment: [0, 0, 200, 0]
这是我在JS Fiddle上更新的工作示例的链接: http://jsfiddle.net/metallikat79/RCGDH/2/