Hide/Show höchste und nächste

Hallo Leute.

Ich hab 3 Divs
[HTML]

Text 1
Text 2
Text 3
[/HTML]

Jetzt möchte ich das wenn man den Submit butten ´klickt, das jeweilige das DIV öffnet welche ID der button hat.
Als bsp:

öffnet dann

und schließt dann direkt

Mein Ansatz:

$(document).ready(function() {
$(‚.left‘).click(function(){
$(‚#js_news‘ + this.id+1).hide(700);
$(‚#js_news‘ + this.id).show(700);
});
});
Aber leider klappt das nicht :confused:

MfG

Mal ne Frage. Sollen immer alle News geschlossen werden außer das aktuell angeklickte? Das würde die Sache leichter machen. Dann gebe den Divs eine Klasse und schließe alle und dann offnest du nur das eine.

$(‚#js_news‘ + this.id+1)
Kann glaub ich nicht funktionieren. Probiert mal das
$(‚#js_news‘ + (parseInt(this.id, 10)+1))

Ah, deins hat net geklappt, aber es hat mir nen denkanstoß gegeben

$(‚.left‘).click(function(){
$(‚#js_news‘ + ((this.id)-1)).hide(700);
$(‚#js_news‘ + this.id).show(700);
});

so ist es jetzt geregelt und es funktioniert.

Jetzt wäre noch die Frage, wie du oben schon fragtest:

Wie krieg ich es hin, das beim Seitenaufruf immer nur ein Div angezeigt wird und zwar das mit der höchsten ID

Wie krieg ich es hin, das beim Seitenaufruf immer nur ein Div angezeigt wird und zwar das mit der höchsten ID

Stehen die Divs alle untereinander?
Geb deinen News divs eine CSS Klasse wie newsDiv und dann kannst du so etwas machen:

$(".newsDiv").hide(); $(".newsDiv").last().show(700);

Das mit dem Id Konstrukt würde ich mir sowieso noch einmal überlegen.
Wenn die Divs in aufsteigender Reihenfolge stehen, brauchst du garkeine Ids zu vergeben.
Dann geht das halt so:

// Öffnet den 3. div $($(".newsDiv").get(2)).show(700);