jQuery slideToggle

  • Themenstarter Themenstarter Netzwerkidi
  • Beginndatum Beginndatum
N

Netzwerkidi

Hallo,

vielleicht kann mir einer helfen mit einem jquery problem.

In der Anwendung kann ein Link (L1) ganz oben auf der Seite geclickt werden, und dann wird ein Bereich so ab ca. Ende des ersten Drittels der Seite sichtbar und bis ganz unten auf die Seite geöffnet:
Code:
  $('#L1).bind({
    click: function(){
      $('#T1).slideToggle('1250');
    }  
  }),
In dem geöffneten Bereich ist auch ein Schließen-Link (L2) enthalten, weil das schneller geht und einfacher zu verstehen ist für den Anwender, als oben den Link (L1) als Schalter zu begreifen.
Code:
$('#L2).bind({
    click: function(){
      $('#L1').focus().click();
    }   
  }),
Das Problem: wenn ich den Schließen-Link (L2) verwende, wird der Bereich zwar weggetoggelt, aber es wird nicht an den Seitenanfang zurück gesprungen, wo die Aktion gestartet wurde.

Wenn ich den dagegen den Link (L1) ganz oben verwende, wird der Bereich geschlossen, ohne dass es da ruckelt und der Cursor irgendwo mitten auf der Seite stehen bleibt.

Was sollte ich tun?

--

Noch eine andere Frage, der Link-Code sieht wie folgt aus:
Code:
<a id="L1" href="#" >Link 1</a>
Was kann ich tun, damit nicht in der URL plötzlich ein "#" hinter der Seite steht, also ".....seite.html#" bzw. wenn ich den Schließen-Link klicke, wird da sogar ein ".....seite.html#L2" draus.


Grüße
Idi
 
Zuletzt bearbeitet von einem Moderator:
Nachtrag: ganz übler Fehler: ich hatte in dem zweiten Link (L2) statt href="#" href="#L2" drinstehen, mit href="#" klappt es nun.

Hai,

merci, aber nix zu machen.

Code:
$('#L2).bind({
  click: function(){
    $('#L1').focus().click();
    $('#topdiv').scrollTop(0);
    //alert('ok');
  }   
}),

Wenn ich den alert aktiviere, klappt es.

Grüße
Idi
 
Zuletzt bearbeitet von einem Moderator:
HTML:
<a id="L1" href="javascript:void(0);" >Link 1</a>
...
<a id="L2" href="javascript:void(0);" >Link 2</a>

Code:
$('#L1').bind('click', function(){
      $('#T1).slideToggle('1250');
});

$('#L2').bind('click', function(){
    $('#L1').focus().click();
    $('#topdiv').scrollTop(0);
    //alert('ok');
});

So eventuell?
 
Hai,

die jQuery-Geschichte hat sich mit dem fehlerhaften href-Eintrag erledigt.

Wobei ich mich gerade, wo ich das hier schreibe, frage, warum ich überhaupt mit bind arbeite und nicht direkt click ausführe...

Dein
Code:
javascript:void(0);
lässt in der Tat die URL wieder korrekt aussehen.

Vielen Dank und einen sonnigen Tag hier bei uns im Letzten.


Grüße

Idi
 

Neue Beiträge

Zurück