Ändern der Größe eines div-auf der Grenze drag-and-drop ohne zusätzliches markup

Ich eine absolute positioniert Seitenteil, und ich brauche zum ändern der Breite durch ziehen dieser Grenze. Auch ich brauche zu ändern, cursor auf der Grenze schweben. Ist es möglich dies zu tun ohne das hinzufügen eines weiteren div für das ziehen?

Hier ist das markup:

CSS:

#right_panel {
    position: absolute;
    border-left: solid 3px #ccc;
    width: 100px;
    height: 100%;
    right: 0;
    background-color: #f0f0f0;
}

HTML:

<body>
    <div id="right_panel"></div>
</body>

Ich brauche keine vollständige Lösung. Ja (Dokumentation, Referenz)/Nein Antwort ist ausreichend. Ich brauche nicht eine Antwort mit einem Helfer, der div. Ich habe schon eine:

JS:

var m_pos;
function resize(e){
    var parent = resize_el.parentNode;
    var dx = m_pos - e.x;
    m_pos = e.x;
    parent.style.width = (parseInt(getComputedStyle(parent, '').width) + dx) + "px";
}

var resize_el = document.getElementById("resize");
resize_el.addEventListener("mousedown", function(e){
    m_pos = e.x;
    document.addEventListener("mousemove", resize, false);
}, false);
document.addEventListener("mouseup", function(){
    document.removeEventListener("mousemove", resize, false);
}, false);

CSS:

#right_panel {
    position: absolute;
    width: 96px;
    padding-left: 4px;
    height: 100%;
    right: 0;
    background-color: #f0f0f0;
}

#resize {
    background-color: #ccc;
    position: absolute;
    left: 0;
    width: 4px;
    height: 100%;
    cursor: w-resize;
}

HTML:

<body>
    <div id="right_panel">
        <div id="resize"></div>
    </div>
</body>

Wieder, dies ist die Funktionalität, die ich will, außer ich will zu entfernen, die gegen div.

  • Ich nehme an, du meinst 'ziehen'. Hast du Javascript für diese oder Fragen Sie uns, es zu schreiben für Sie?
  • wenigstens zeigen einige code, die Sie bereits versucht haben und nicht gearbeitet
  • Ich Frage, ist es möglich oder nicht und einige Empfehlungen. Ich weiß nicht brauchen, um dieses problem zu lösen, weil ich bereits eine Lösung mit einem anderen div-Tag für ziehen und ändern der Größe übergeordneten div. Ich will nur, um die markup-cleaner. Hier ist die Lösung mit einem anderen div: jsfiddle.net/kxr96dzg/1 Und sorry. Englisch ist nicht meine Muttersprache.
  • Ich für meinen code. Können Sie jetzt helfen?
  • In falls Sie es verpasst, ich habe eine Antwort, die funktionieren könnte für Sie (ein bisschen spät, aber ich hoffe, es hilft!) -- stackoverflow.com/a/53220241/428486
InformationsquelleAutor Anton | 2014-10-07
Schreibe einen Kommentar