jQuery UI - изменение размера - только один дескриптор с соотношением сторон - PullRequest
0 голосов
/ 13 сентября 2010

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

.resizable({
      handles: 's,e,se'
});

И я бы хотел, чтобы ручка se сохраняла соотношение сторон, а не другой.

I 'мы пробовали так:

   .resizable({
          handles: 's,e'
    }).resizable({
          handles: 'se',
          aspectRatio:true
    });

Но это не работает ... а идея?

Спасибо

Ответы [ 3 ]

4 голосов
/ 03 декабря 2015

Решено: Сохраняет соотношение сторон при изменении размеров с углами, но не с боков

[html]

<div class="ResizableDiv"></div>

[javascript]

jDiv = $('.ResizableDiv');

jDiv.resizable({                    
    handles: "n, e, s, w, nw, ne, sw,se",
    start: function( event, ui ) {                          
        if ($(event.originalEvent.target).attr('class').match(/\b(ui-resizable-se|ui-resizable-sw|ui-resizable-ne|ui-resizable-nw)\b/)){
            // Keep aspect ratio when resizing using the corners
            jDiv.resizable( "option", "aspectRatio", true ).data('uiResizable')._aspectRatio = true;
        }       
    },  
    stop: function( event, ui ) {   
        // remove aspect ratio resize
        jDiv.resizable( "option", "aspectRatio", false ).data('uiResizable')._aspectRatio = false;      
    }
});
2 голосов
/ 13 сентября 2010

Я отвечаю себе:

start: function(e,ui) {
  if (jQuery(e.originalTarget).hasClass("ui-resizable-se")) {
     // Keep aspect ratio function
  }
}
0 голосов
/ 14 июля 2017

Для пользовательского интерфейса jQuery, изменяемого размера для соотношения сторон одного маркера, используйте эту функцию $ ("# Resize_aspect"). Resizable ({aspectRatio: true});

...