Проблема горизонтальной прокрутки в портлете Jquery - PullRequest
1 голос
/ 19 марта 2011

Как можно предотвратить горизонтальную прокрутку при перетаскивании элементов с помощью сортируемых портлетов? В настоящее время, когда вы перетаскиваете элемент, вы можете прокручивать вправо без каких-либо ограничений, как показано в демонстрации: http://jqueryui.com/demos/sortable/#portlets

РЕДАКТИРОВАТЬ: Я только что заметил, что то же самое происходит, когда вы перетаскиваете элемент по вертикали, он просто продолжается вечно. Любой способ добавить какие-то границы для прокрутки?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 14 апреля 2011

Использование

Ось: "Y"

//Example
$(function() {
    $(setSelector).sortable({
        axis: "y",
        cursor: "move",
        opacity: 0.5,
    });
});
0 голосов
/ 16 июля 2015

Можно использовать containment (ссылка на API) .Вы можете написать что-то вроде этого:

$(selector).sortable({
    containment: 'body'
})

Это заблокирует ваши портлеты в элементе body.Вы также можете использовать селекторы или другие специальные слова, чтобы выбрать, на что портлеты заблокированы.Просто убедитесь, что элементы содержания имеют высоту при отображении.

0 голосов
/ 19 марта 2011

Я никогда не использовал сортировку, но я написал код, чтобы ограничить прокрутку определенной областью, поэтому, возможно, вы можете взглянуть на этот код и выяснить, что делать.

scroll_position = $(window).scrollTop();

$(window).scroll(function () {

if($(window).scrollTop() < scroll_position) {
   // code to cancel sort
}

});

Длягоризонтальная прокрутка, посмотрите на http://api.jquery.com/scrollLeft/

...