zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden DIV "einklappen" [aus dem CSS-Thread]

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 03.06.2007, 20:57
Benutzerbild von SPMan
The Oncoming Storm
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 23.05.2004
Ort: Metropolis
Beiträge: 1.243
SPMan wird schon bald berühmt werden
Standard

Zitat:
Zitat von Thorben Beitrag anzeigen
Du musst die showIt()-Funktion natürlich entsprechend anpassen. Da steht ja noch „hide“ als ID drin.
Klar, habe ich gar nicht mehr daran gedacht:

Code:
function hideIt()
{
  document.getElementById("container").style.backgroundImage="url(./fcback2.gif)";
  document.getElementById("image").style.display="none";
  document.getElementById("text").style.width="712px";

  var steelElement = document.getElementById("steel");

  steelElement.style.float="left";
  steelElement.style.width="11px";
  steelElement.onclick = showIt;
}

function showIt()
{
 document.getElementById("container").style.backgroundImage="url(./fcback3.gif)";
 document.getElementById("image").style.display="block";
 document.getElementById("text").style.width="495px";

 var steelElement = document.getElementById("steel");

 steelElement.float="right";
 steelElement.width="10px";
 steelElement.onclick = hideIt;
 }
aktualisierte Version

Zitat:
Der Mauszeiger lässt sich per CSS festlegen:
Code:
#steel {
  cursor: pointer;
}
Ich war gerade am Überlegen, ob man evtl. einen ganz anderen (selbst erstellten, oder von einer Seite (gibt es überhaupt Seiten mit freien Mauszeigern?)) Mauszeiger nehmen sollte (was laut CSS4You ja mölich ist). Aber ist es überhaupt ratsam soweit in das System eines Nutzers einzugreifen?

Nun besteht "nur noch" das Problem mit der Größe des Steel-Divs.
Hast Du evtl. irgendeine Idee und wenn nicht, weißt Du wo ich evtl. Hilfe bekommen könnte?
__________________
"Glück entsteht oft durch Aufmerksamkeit in kleinen Dingen."
- Wilhelm Busch
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 16.06.2007, 20:25
Benutzerbild von SPMan
The Oncoming Storm
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 23.05.2004
Ort: Metropolis
Beiträge: 1.243
SPMan wird schon bald berühmt werden
Standard

Leider besteht bei meiner aktuellen Version das Javascripts weiterhin das Problem, dass bei der "umgeschalteten" Version - so wie ich es sehe - indirekt #steel als Maßstab für die Höhe genommen wird. Nun hat sich aber sichtlich, durch das Ausblenden von #image, der eigentliche Inhalt verringert, sprich ich habe eine Menge unnützen leeren Platz unter dem Text. Gibt es eine Möglichkeit diesen "Fehler" zu vermeiden bzw. zu umgehen?

Hier der Link zum Testen/Nachvollziehen und anbei der Code:

Code:
function hideIt()
{
  document.getElementById("container").style.backgroundImage="url(./images/schmuck/fcback2.gif)";
  document.getElementById("image").style.display="none";
  document.getElementById("text").style.width="712px";

  var steelElement = document.getElementById("steel");

  steelElement.style.float="left";
  steelElement.onclick = showIt;
}

function showIt()
{
 document.getElementById("container").style.backgroundImage="url(./images/schmuck/fcback3.gif)";
 document.getElementById("image").style.display="block";
 document.getElementById("text").style.width="495px";

 var steelElement = document.getElementById("steel");

 steelElement.float="right";
 steelElement.onclick = hideIt;
 }

 window.onload=function()
{
        var cHeight=document.getElementById("content").offsetHeight;
        document.getElementById("steel").style.height=cHeight+"px";
}
__________________
"Glück entsteht oft durch Aufmerksamkeit in kleinen Dingen."
- Wilhelm Busch
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 16.06.2007, 20:55
Benutzerbild von hemfrie
Administrator
XHTMLforum-Kenner
 
Registriert seit: 18.12.2003
Ort: Düsseldorf
Beiträge: 2.777
hemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannt
Standard

Die id "steel" besitzt laut firebug ein
Code:
style="height: 354px;"
Deshalb verschwindet auch unten der Weißraum nicht.

Geändert von hemfrie (16.06.2007 um 20:58 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 16.06.2007, 21:01
Benutzerbild von SPMan
The Oncoming Storm
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 23.05.2004
Ort: Metropolis
Beiträge: 1.243
SPMan wird schon bald berühmt werden
Standard

Zitat:
Zitat von hemfrie Beitrag anzeigen
Die id "steel" besitzt laut firebug ein
Code:
style="height: 354px;"
Deshalb verschwindet auch unten der Weißraum nicht.
Nicht aber im eigentlich (X)HTML- oder CSS-Quelltext, sondern erst durch das JavaScript, damit das gesamte Div #steel, was es ja auch soll, anklickbar ist.
Es müsste sich beim "umschalten" an eigentlich Höhe von #text ausrichten, sp wie ich das sehe...
__________________
"Glück entsteht oft durch Aufmerksamkeit in kleinen Dingen."
- Wilhelm Busch
Mit Zitat antworten
  #15 (permalink)  
Alt 16.06.2007, 21:06
Benutzerbild von hemfrie
Administrator
XHTMLforum-Kenner
 
Registriert seit: 18.12.2003
Ort: Düsseldorf
Beiträge: 2.777
hemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannt
Standard

ja, Du vergibst die Höhe von Steel beim laden des Dokumentes

Code:
 window.onload=function()
{
        var cHeight=document.getElementById("content").offsetHeight;
        document.getElementById("steel").style.height=cHeight+"px";

}
Die 354px sind also die Höhe von #content. Du musst diese Höhe beim einklappen aber auch wieder korrigieren, ansonsten bleibt die natürlich auch bei 354px stehen
Mit Zitat antworten
  #16 (permalink)  
Alt 16.06.2007, 21:10
Benutzerbild von SPMan
The Oncoming Storm
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 23.05.2004
Ort: Metropolis
Beiträge: 1.243
SPMan wird schon bald berühmt werden
Standard

Zitat:
Zitat von hemfrie Beitrag anzeigen
Die 354px sind also die Höhe von #content. Du musst diese Höhe beim einklappen aber auch wieder korrigieren, ansonsten bleibt die natürlich auch bei 354px stehen
Richtig, beim einklappen muss entweder #text oder #image der Maßstab sein, je nach was von beiden in dem Moment mehr Inhalt sein.

Eine Idee, wie sich das Ganze am Besten beerkstellgen lässt?
__________________
"Glück entsteht oft durch Aufmerksamkeit in kleinen Dingen."
- Wilhelm Busch
Mit Zitat antworten
  #17 (permalink)  
Alt 16.06.2007, 21:16
Benutzerbild von hemfrie
Administrator
XHTMLforum-Kenner
 
Registriert seit: 18.12.2003
Ort: Düsseldorf
Beiträge: 2.777
hemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannt
Standard

Der Maßstab ist #content, denn der umschließt #image und #text.

Ändere einfach Dein Javascript so ab, dass das ermitteln der Content-Höhe eine eigene Funktion erhält.

Code:
function hideIt()
{
  document.getElementById("container").style.backgroundImage="url(./images/schmuck/fcback2.gif)";
  document.getElementById("image").style.display="none";
  document.getElementById("text").style.width="712px";

  var steelElement = document.getElementById("steel");

  steelElement.style.float="left";
  steelElement.onclick = showIt;
}

function showIt()
{
 document.getElementById("container").style.backgroundImage="url(./images/schmuck/fcback3.gif)";
 document.getElementById("image").style.display="block";
 document.getElementById("text").style.width="495px";

 var steelElement = document.getElementById("steel");

 steelElement.float="right";
 steelElement.onclick = hideIt;
 }


function content_height(){
    var cHeight=document.getElementById("content").offsetHeight;
    document.getElementById("steel").style.height=cHeight+"px"; 
}

 window.onload=function()
{
    content_height();
}
und diese Funktion fürst Du dann beim klicken auf steel aus

Code:
<div id="steel" onclick='hideIt();content_height();' onkeypress='hideIt();'>
Mit Zitat antworten
  #18 (permalink)  
Alt 16.06.2007, 21:27
Benutzerbild von SPMan
The Oncoming Storm
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 23.05.2004
Ort: Metropolis
Beiträge: 1.243
SPMan wird schon bald berühmt werden
Standard

Zitat:
Zitat von hemfrie Beitrag anzeigen
Der Maßstab ist #content, denn der umschließt #image und #text.

Ändere einfach Dein Javascript so ab, dass das ermitteln der Content-Höhe eine eigene Funktion erhält.
[...]
Danke, ich habe Deine Änderungen mal eben fix vorgenommen, aber es will wohl leider immer noch nicht klappen. LINK | JavaScript
__________________
"Glück entsteht oft durch Aufmerksamkeit in kleinen Dingen."
- Wilhelm Busch
Mit Zitat antworten
  #19 (permalink)  
Alt 16.06.2007, 21:38
Benutzerbild von hemfrie
Administrator
XHTMLforum-Kenner
 
Registriert seit: 18.12.2003
Ort: Düsseldorf
Beiträge: 2.777
hemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannthemfrie ist jedem bekannt
Standard

Ja stimmt, kann so nicht klappen, ist meine Schuld. Das Div mit der id="steel" ist ja auch in #content enthalten.

Du müsstest also in der Funktion doch die Höhen von #text und #image ermitteln und dann die größere der beiden dem #steel übergeben.
Mit Zitat antworten
Sponsored Links
  #20 (permalink)  
Alt 16.06.2007, 21:40
Benutzerbild von SPMan
The Oncoming Storm
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 23.05.2004
Ort: Metropolis
Beiträge: 1.243
SPMan wird schon bald berühmt werden
Standard

Zitat:
Zitat von hemfrie Beitrag anzeigen
Du müsstest also in der Funktion doch die Höhen von #text und #image ermitteln und dann die größere der beiden dem #steel übergeben.
Dann habe ich also doch richtig gedacht.
Wie gehe ich an o.g. Problem heran?
__________________
"Glück entsteht oft durch Aufmerksamkeit in kleinen Dingen."
- Wilhelm Busch
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Jquery Load Div Problem / Css Style wird nicht erkannt mastaa Javascript & Ajax 5 16.03.2011 17:50
Redesign für Steiner Cycling Team pkipper Site- und Layoutcheck 11 09.02.2011 12:25
Css Div Boxen relativ untereinander ausrichten heinbloed CSS 1 23.01.2011 23:06
joomla template entschlüsseln nieselfriem CSS 2 18.03.2008 13:12
Div + css in jedem Browser anders Skittles CSS 5 29.06.2004 22:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:26 Uhr.