Gridster.js - изменить размер и сохранить соотношение сторон

В настоящее время я использую Gridster.js, и мне было интересно, знает ли кто-нибудь с опытом работы над плагином, как поддерживать соотношение сторон виджета при изменении размера.

В настоящее время у меня есть квадраты в сетке, которые я хотел бы сохранить 1:1 и прямоугольники, которые я хотел бы сохранить 3:2.

Я думал, что смогу сделать какую-то проверку в функции resize.resize. Это звучит довольно дорого, так как срабатывает при каждом движении мыши.

Есть ли лучший способ приблизиться к этому?

1 ответ

Решение

Мне удалось решить эту проблему, изменив плагин Gridster.js:

В строке 2020 внутри метода fn.on_resize я добавил:

    //check the initial size to get the ratio
    var ratio = this.resize_initial_sizex / this.resize_initial_sizey;
    size_x = size_y / ratio;

Это поддерживает текущее соотношение сторон текущего виджета. Я поместил полный код в Gist, если кто-то хотел бы увидеть его в контексте.

Другие вопросы по тегам