2011-10-30 58 views
0

我试图使用可拖动的jquery ui插件(http://jqueryui.com/demos/draggable/)将可拖动元素添加到我的页面。目前,我有这样的:jquery垂直向上动画

$("#makeMeDraggable").draggable({ axis: "y"}); 

我已经尝试过:

$("#makeMeDraggable").draggable({ axis: "y", limit: {top: 10, bottom: 550}}); 

我需要的是只允许拖动垂直 - 但只有向上(如果不允许拖着向下)。

+0

什么是你想在这里做什么?你是否希望元素只能在当前窗口空间内拖动,或者什么?我还假设这是一个插件。你能链接到插件的页面,所以我们知道它是哪一个? – Bojangles

+0

JamWaffles我试图做的事情,詹姆斯发布,即,只允许“垂直向上”拖动。 – Snapper

回答

1

试试这个代码:

$("#makeMeDraggable").draggable({ axis: "y"}); 

var lastYPosition = null; 

$("#makeMeDraggable").draggable({ 
    drag: function(event, ui) { 

     // set with the initial y position 
     if(lastYPosition === null) { 
      lastYPosition = ui.originalPosition.top;   
     } 

     // don't do the drag if the new y position is larger than the old one 
     if(ui.position.top > lastYPosition) { 
      return false; 
     } 

     // update the last y position with current value 
     // so we can check against it next time 
     lastYPosition = ui.position.top; 
    } 
}); 

这里是一个工作示例(在Chrome和Safari测试) http://jsfiddle.net/jameszaghini/s4vfX/

+0

完美詹姆斯。非常感谢你 :) – Snapper