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, если кто-то хотел бы увидеть его в контексте.