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

Frage Anker in :hidden divs setzen

Maczmart

Neues Mitglied
Hallo Zusammen,
ich war mir nicht sicher in welchem Forum ich mit meinem Problem richtig liege, weil streng genommen HTML, CSS und wohl auch JavaScript passen würden. Also, ich habe ein kleines Problem und stehe da auf dem Schlauch.

Es geht um meine Website (www.maczmart.de). Dort habe ich etwas unkonventionell mit versteckten Divs gearbeitet, die sich auf klick auffahren und den Inhalt freigeben. Ich möchte einige dieser Inhalte mit einem Anker versehen, um direkt links dort hin erstellen zu können. Ich habe es mal bei "#GreenGifs" unter "More Stuff" mit einem einfachen Anker versucht(www.maczmart.de/#greengifs).
Man sieht, dass der Anker-Link funktioniert und zu der gewünschten Stelle führt, allerdings öffnet sich der Bereich nicht und gibt den Inhalt nicht frei.

Ich tippe darauf, dass ich mit einem kleinen Stück Java-Script den Link auf einen Hash checken und dementsprechend den Inhalt direkt zeigen kann – dafür reicht mein Wissen aber absolut nicht aus.

Weiß einer von euch rat?

Vielen Dank schonmal! :)
Martin
 
Werbung:
Das ist kein Problem, allerdings frage Ich mich, wie du die Seite(inkl. JS) ohne JS-Kenntnisse gecodet hast. Da du jQuery verwendest, könntest du so etwas nehmen(Ungetestet und nur ein Richtungsweiser):
Javascript:
$('a[class*="#"]').on(click, function() {
      switch($(this).attr('href')) {
          case '#href_eines_links': $('.advertising .wrapper').toggleClass( 'show' );break;
          case '#href_eines_links': $('..fun .wrapper').toggleClass( 'show' );break;
//Und so weiter mit jedem versteckten Div das du hast
   }
})

Edit: Eventuell muss du dann noch in jedem case ein
Javascript:
window.location = 'http:\/\/www.maczmart.de' + $(this).attr('href');
setzen, obwohl der Sprung zum Anker eigentlich trotzdem ausgeführt werden müsste
 
Zuletzt bearbeitet:
Switch-case ist nicht notwenig. Das lässt sich abstrahieren.
Code:
// <a href="#advertising"></a>
$("a[href^='#']").on('click', function() {
  var elem = $(this).attr('href');
  elem = elem.slice(1);
  // do something with 'advertising'
});
 
Werbung:
Vielen Dank schonmal für die fixen Antworten. Ich probiere nacher aus.

Zur Frage wieso ich Javascript nutze aber nicht schreiben kann: ich hab mich damals durch sämtliche Tutorials gegoogelt und die Funktionen mit meinem Halbwissen zusammengetümpert. Ein ex Frontend-Arbeitskollege hat mir dann, als es soweit funktioniert hat, geholfen alles glattzuziehen, zu optimieren und aufzuräumen (Der liebe Joshua, aus meinem Footer ;)

Ich berichte, wie eure Tipps funktionieren!
 
Zurück
Oben