div per javascript vergrößern und verkleinern

  • Ich habe ein dreispaltiges layout.

    <div id="wrapper">
    <div id="content-wrapper">
    <div id="content">
    </div>
    <div id="mainnav">
    </div>
    </div>
    <div id="sidebar">
    </div>

    Der div content ist rechts "gefloatet" und der mainnav div links.
    Jetzt würde ich gerne wenn man auf einen Link klickt das sich der content div vergrößert und die sidebar verkleinert.
    Ich habe schon etwas gesucht:

    In dieser Form bräuchte ich aber zwei links einmal um den einen div zu vergrößern und einmal den anderen zu verkleinern.
    Außerdem wird der float: right vom content div aufgelöst.
    Könnte mir vllt jemand helfen dieses Problem zu lösen?
    Ich freue mich auf eure Antworten!
    MfG
    haillo

  • zum einen wäre des komplette grundgerüst inklusive styles mal eine wundervolle erweiterung deines postongs!
    dann liegt die sache doch an sich auf der hand.. du brauchst also ne funktion, die dein main-div in der gösse ändert, das würde aber die danebenliegende spalte beeinträchtigen, also musste die auch ändern.
    du hast zwei zustände:
    a)alles normal
    b) grösen geändert

    also machste eine funktion die die grössen ändert und eine, die sie wiederherstellt
    dazu noch ne dritte, die die aktuelle grösse deines divs abfragt und dementsprechend die vergrösserung oder verkleinerung aufruft.
    etwas tricky, aber auch möglich ist das ganze in eine funktion gestopft...
    und letztlich brauchste dafür nur möglichkeit diese änderungsfunktionen aufzurufen (link button, event,..)

  • Es gibt nur ein ganz kleines problem bei der ganzen Sache,
    ich kann kein javascript!
    Ich hatte gehofft dass das kein großes Ding ist und mir jemand das zusammenbastelt! Jetzt habe ich wohl 2 Möglichkeiten entweder ich stelle es ins Jobforum oder lerne Javascript!
    Trotzdem hier mal der Quelltext:


  • also du kannst das ganze so machen, indem du ne eigene klasse für die bereiche schrebst sagen wir einmal die klassen .main_normal .main_modified, side_normal, side_modified das machste für alle betroffenen divs

    die modified-klassen ergeben den grossen style und die normal-klassen eben den normalen style.
    der teil hier:
    var main = document.getElementById("ID_Deines_main-Div");
    var side = document.getElementById("ID_Deines_seiten-Div");

    kann eben beliebig um weitere divs erweitert werden, jedoch musste dass dann auch entsprechend in den geschweiften klammern bei if und else reinschreiben...

  • Du meinst ich füge den betroffenen div`s jeweils zwei class hinzu einmal .main_normal und einmal .main_modified und und gebe im dann in css einmal das größer maß und einmal das kleinere?
    Und wie verbinde wie löse ich mit dem Link die Vergrößerung aus?
    Ich hoffe das du mir da nocheinmal helfen kannst!
    MfG
    haillo

  • nee nee du fügst den betroffenen divs nur 1 mal class hinzu und trägst dort die normale klasse ein.
    die klassen mit den vergrösserten zuständen schreibste ganz normal in die css-datei, die werden dann erst vom javascript aktiviert.

    und wie du das aufrufst hängt davon ab, wie es generell funktionieren soll...
    im link ginge es so:

    Code
    <a href="javascript:setBigDim()">hier klicken</a>


    oder

    Code
    <a href="blabla.html" onclick="setBigDim(); return false;">hier klicken</a>

    onclick="setBigDim(); kannste aber in jedes tag schreiben, das man anklicken muss um die aktion durchzuführen