#jquery #jquery-ui #jquery-ui-draggable
#jquery #jquery-пользовательский интерфейс #jquery-ui-перетаскиваемый
Вопрос:
Я пытаюсь добавить перетаскиваемый элемент на свою страницу, используя перетаскиваемый плагин пользовательского интерфейса jquery ( http://jqueryui.com/demos/draggable / ). На данный момент у меня есть это:
$("#makeMeDraggable").draggable({ axis: "y"});
Я уже пробовал:
$("#makeMeDraggable").draggable({ axis: "y", limit: {top: 10, bottom: 550}});
Что мне нужно, так это разрешить перетаскивание только по вертикали — но только вверх (запрещая перетаскивание вниз).
Комментарии:
1. Что ты здесь пытаешься сделать? Вы хотите, чтобы элемент можно было перетаскивать только в пределах текущего пространства окна или что? Я также предполагаю, что это плагин. Можете ли вы дать ссылку на страницу плагина, чтобы мы знали, что это за плагин?
2. JamWaffles то, что я пытался сделать, — это эффект, который опубликовал Джеймс, то есть просто разрешить перетаскивание «вертикально вверх».
Ответ №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 /
Комментарии:
1. идеальный Джеймс. Большое вам спасибо 🙂