2012-03-24 18 views
4

Wenn Sie ein Element nach rechts verschieben, verwenden Sie das veränderbare Widget von jQuery UI, um es vom linken Rand aus in der Größe veränderbar zu machen.jquery ui resizable ein schwebendes Element.

Ich habe dies zusammen:

http://jsfiddle.net/nicholasstephan/kCduV/2/

Wenn Sie die „Seitenleiste“ Größe ändern, werden Sie sehen sofort, was ich rede.

Was mache ich hier falsch?

Ich würde es vorziehen, den Schwimmer zu halten: rechts, so dass die linke Spalte von selbst nimmt.

Antwort

4

Arbeits Demo:http://jsfiddle.net/kCduV/10/ und eine andere Lösung: http://jsfiddle.net/kCduV/12/

jQuery-Code:

$(function() { 
    // $('.resizable').resizable({'handles': 'w'}); 
    $('.resizable').resizable({ 
     handles: 'e,w', 
     resize: function (event,ui) { 
      ui.position.left = ui.originalPosition.left; 
      ui.size.width = (ui.size.width 
       - ui.originalSize.width)*2 
       + ui.originalSize.width; 
     } 
    }); 
}); 

ODER

$(function() { 
    // $('.resizable').resizable({'handles': 'w'}); 
    $('.resizable').resizable({ 
     handles:'e,w', 
     resize: function (event,ui) { 
      ui.position.left = ui.originalPosition.left; 
      ui.size.width += (ui.size.width - ui.originalSize.width); 
     } 
    }); 
}); 

Erläuterung:jQuery Resizable: doubling the resize width

+0

macht Sinn. Vielen Dank! Ihre beiden Fiedeln scheinen immer noch die Doppeltransformation zu machen. Die rechte Kante bleibt gesetzt, aber die linke Kante bewegt sich mehr als die Maus. Die Verwendung des resize -Ereignisses zum Ändern der Seitenleiste selbst ist immer noch besser als das Verwenden von event, um die Breite des linken Elements zu bearbeiten. Vielen Dank! – nicholas

+0

Kein Sorgen Mann! Ich bin froh, dass es dir geholfen hat, ja, du kannst versuchen und mit der UI-Position herumspielen, Prost! –