82 Stimmen

Wie kann man die Größe von ONLY horizontal oder vertikal mit jQuery UI Resizable ändern?

Die einzige Lösung, die ich gefunden habe, besteht darin, die maximale und minimale Höhe oder Breite mit dem aktuellen Wert festzulegen.

foo.resizable({ 
  maxHeight: foo.height(), 
  minHeight: foo.height() 
});

Aber das ist wirklich hässlich, besonders wenn ich die Höhe des Elements programmatisch ändern muss.

0voto

Für mich sind Lösungen mit beiden Griffen und resize Handler funktionierte gut, so dass der Benutzer den Griff sieht, aber die Größe nur horizontal ändern kann; eine ähnliche Lösung sollte für die vertikale Größe funktionieren. Ohne Handler unten rechts der Benutzer könnte nicht wissen dass er die Größe des Elements ändern kann.

Bei der Verwendung von ui.size.height = ui.originalSize.height; es wird nicht richtig funktionieren wenn das Element seine Größe gegenüber dem Ausgangszustand geändert hat.

foo.resizable({
    // Handles left right and bottom right corner
    handles: 'e, w, se',
    // Remove height style
    resize: function(event, ui) {
        $(this).css("height", '');
    }
});

Für bessere Leistung $(this) entfernt werden könnten:

var foo = jQuery('#foo');
foo.resizable({
    // Handles left right and bottom right corner
    handles: 'e, w, se',
    // Remove height style
    resize: function(event, ui) {
        foo.css("height", '');
    }
});

0voto

Vinod Kumar Punkte 957

Erfolgreiches Arbeiten in vertikaler und horizontaler Position

<head>
  <link rel="stylesheet" href="http://stackoverflow.com//code.jquery.com/ui/1.13.0/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="http://stackoverflow.com/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
  <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.js"></script>
  <style>
    .resizable {
      height: 100px;
      width: 500px;
      background: #09C;
    }

    .resizable-x {
      margin-top: 5px;
      height: 100px;
      width: 500px;
      background: #F60;
    }
  </style>

  <script>
    $(function() {
      $(".resizable").resizable({
        grid: [10000, 1]
      });
      $(".resizable-x ").resizable({
        grid: [1, 10000]
      });
      $(".resizable").draggable();
    });
  </script>
</head>

<body>
  <div class="resizable"></div>
  <div class="resizable-x"></div>
</body>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X