• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Div per Mausziehen vergrößern

Status
Für weitere Antworten geschlossen.

gollum1990

Neues Mitglied
Hallo Forum,

ich habe eine Frage, ihr kennt ja beispielsweise den IE, wenn man an der Seite kann man mit der Maus dort ziehen und die größe ändern, so wie realisiere ich das jetzt in javascript, ich habe ein div und das soll wenn man mit gedrückter Mautaste vergrößerbar sein und verkleiner bar sein. Kann mir da jemand helfen, oder Links geben?


MFG, gollum1990
 
Bin zwar kein Profi, aber du könntest 2 Klassen verwenden.
Eine für Normalstatus und eine für Klickstatus.

Dann einfach
Code:
<div class="hallo"><a href="#" onclick="getElementByClass('hallo')">Text</a></div>
Irgendwie so..
Wär doch ein guter ansatz.
Sorry, dass ich dir nicht mehr bieten kann, denn ich bin nicht so weit in JS.


MfG, matibaski
 
Das hier sollte dir helfen: http://www.html.de/showthread.php?t=5994

Du musst das Ganze so ähnlich machen, nur dass die Position der Maus in eine Variable geschrieben wird und bei jedem Funktionsaufruf die Differenz zwischen der Standardposition und der aktuell gemessenen berechnet wird. Mithilfe dieser Zahl wir ddann die Breite des divs verändert.

Wenn du willst, dann kann ich dir so ein Script machen (siehe Sig) - brauchst mir nur ne kurze PN zu schicken ;)



@matibaski: Das bringt doch wohl garnichts...
 
LoL!
Ich schaue das anderst an als du, anscheinend!

Wenn ich schreibe Anfänger, weiss ich nichtmal wie das Zeugs funzt.
Fortgeschritten heisst, ich verstehe Grundlagen, codeaufbau, etc...

Aber da du es nicht nötig hast, dass dir helfen versuchen zu lassen, mach ich das in Zukunft nicht mehr. Ich überlasse das den anderen.
Auch in anderen Bereichen werd' ich dich nicht helfen.


MfG, matibaski
 
ich hatte sowas ähnliches mal gebraucht, die lösung funktioniert
nur im ff und nur auf click aber vielleicht bringt es dich ein wenig weiter
HTML:
<script>

xpos=0;
ypos=0;
if(document.layers) {
  window.captureEvents(Event.MOUSEMOVE);
  window.onmousemove=koordinaten;
}
else {
  document.onmousemove=koordinaten;
}

function koordinaten(e) {
  xpos = (document.layers || (document.getElementById && !document.all)) ? e.pageX : document.body.scrollLeft + event.clientX;
  ypos = (document.layers || (document.getElementById && !document.all)) ? e.pageY : document.body.scrollTop + event.clientY;
}

function increase() {

  top=document.getElementById("jo").offsetTop;
  left=document.getElementById("jo").offsetLeft; 
  
  height = document.getElementById("jo").style.height;
  width = document.getElementById("jo").style.width;
  
  xpos = xpos - left;
  ypos = ypos - top;
  document.getElementById("jo").style.height = ypos; 
  document.getElementById("jo").style.width = xpos; 
}

function decrease() {

  top=document.getElementById("jo").offsetTop;
  left=document.getElementById("jo").offsetLeft; 
  
  height = document.getElementById("jo").style.height;
  width = document.getElementById("jo").style.width;
  
  xpos = xpos + left;
  ypos = ypos + top;
  document.getElementById("jo").style.height = ypos; 
  document.getElementById("jo").style.width = xpos; 
}

</script>

<body onclick="increase()">
<div onclick="decrease()" id="jo" style="background-color:green; width:500px; height:400px;">
  jojojo
</div>
</body>
 
Ich hab ihn gestern schon eine Lösung geschrieben, aber nicht gepostet dass ich es schon gemacht habe. Sry :oops:


Falls es jemande interessieren sollte, dann ist hier mein Code:
HTML:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">
<head>
<title>Testseite</title>
<script type="text/javascript">
var checkRes = false; 		//Zeigt an, ob der div vergrößert werden soll oder nicht
var standTop = false; 		//Gibt die Anfangsposition der Maus an - wird später eine Zahl
var standLeft = false;		//Gibt die Anfangsposition der Maus an - wird später eine Zahl
var breite = 250		//Breite der Box - muss angepasst werden wenn die Box Breiter / schmaler wird
var hoehe = 500;		//Höhe der Box - muss angepasst werden wenn die Box höher / niedriger wird
function change(was){
checkRes = !checkRes;
breite = parseFloat(was.parentNode.style.width);
hoehe = parseFloat(was.parentNode.style.height);
if(checkRes){
standTop = false;
standLeft = false;
document.getElementsByTagName('body')[0].style.cursor = "se-resize";
} else {
document.getElementsByTagName('body')[0].style.cursor = "default";
}
}
function bewegt(evt){
if(!checkRes) return; 		//Wenn die Box nicht verändert werden soll, dann wird der Funktionsaufruf abgebrochen
if(!standTop){
standTop = evt.clientY;
standLeft = evt.clientX;
}
var diffY = standTop - evt.clientY;
var diffX = standLeft - evt.clientX;
if((breite - diffX) > 0)
document.getElementById('feld').style.width = breite - diffX + "px";
if((hoehe - diffY) > 0)
document.getElementById('feld').style.height = hoehe - diffY + "px";
}
document.onmousemove = bewegt;
</script>
<style type="text/css">
body, html{
height:100%;
width:100%;
overflow:hidden;
}
</style>
</head>
<body>
<div style="background-color:#f00; height:500px; width:250px; position:absolute; left:120px; top:210px;" id="feld">
<div style="background-color:#000; position:absolute; bottom:0px; right:0px; width:10px; height:10px; cursor:se-resize;" onclick="change(this)"></div>
</div>
</body>
</html>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben