mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Sa 27.04.2024 05:10 Benutzername: Passwort: Auto-Login

Thema: jQuery Problem vom 22.11.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> jQuery Problem
Seite: 1, 2  Weiter
Autor Nachricht
Vektorpate
Threadersteller

Dabei seit: 05.09.2006
Ort: Hamburg
Alter: -
Geschlecht: Männlich
Verfasst Mo 22.11.2010 13:02
Titel

jQuery Problem

Antworten mit Zitat Zum Seitenanfang

Hi,

ich versuche grade eine Navigation per jQuery dazu zu bringen, dass
bei einem klick auf <a> die Klasse .active hinzugefügt wird, und sich bei einem
Klick auf ein anderes <a> innerhalb der Navigation die Klasse .active des vorherigen
Links verschwindet und sich auf das neu geklickte setzt.
Es gibt nur ein index Dokument in dem 4 verschiedene inhalte per toggle ein- und ausblenden.
Das habe ich auch bereits hinbekommen, bei der Navigation hapert es dann aber.

Über Rat wäre ich dankbar

Code:
$('.navi li a').click(function () {

$(this).show();
$(this).addClass('active');
$('active').hide();
$('active').removeClass('active');
});
  View user's profile Private Nachricht senden
Zeithase

Dabei seit: 09.05.2005
Ort: Erfurt
Alter: 39
Geschlecht: Männlich
Verfasst Mo 22.11.2010 13:05
Titel

Antworten mit Zitat Zum Seitenanfang

1. Logikfehler - erst hinzufügen und dann alle entfernen macht wenig Sinn.
2. Selektor-Fehler - sollte $('.active') heißen.
3. Pack das doch mal mit allem zusammen irgendwohin.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Vektorpate
Threadersteller

Dabei seit: 05.09.2006
Ort: Hamburg
Alter: -
Geschlecht: Männlich
Verfasst Mo 22.11.2010 13:18
Titel

Antworten mit Zitat Zum Seitenanfang

Hier

Sorry für den Arcor Server.
Und ja, ich bin jQuery Anfänger Grins
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 22.11.2010 13:36
Titel

Antworten mit Zitat Zum Seitenanfang

punkt 3 haste ja schon mal. punkt 1 und 2 waren aber wichtiger Lächel

Zeithase hat geschrieben:
1. Logikfehler - erst hinzufügen und dann alle entfernen macht wenig Sinn.
2. Selektor-Fehler - sollte $('.active') heißen.


du gibst this die klasse active, und räuberst sie danach wieder.


$(this).addClass('active');
$(this).show();

müssten also erst kommen, wenn du das "alte" active vom klick vorher entfernt hast... (mit den richtigen selectoren) *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Vektorpate
Threadersteller

Dabei seit: 05.09.2006
Ort: Hamburg
Alter: -
Geschlecht: Männlich
Verfasst Mo 22.11.2010 13:42
Titel

Antworten mit Zitat Zum Seitenanfang

Erscheint mir logisch.

Code:
$('active').hide();
$('active').removeClass('active');
$(this).addClass('active');
$(this).show();
});


So? Dann bleiben die actives allerdings geöffnet.
Sie sollen sich ja schließen bei klick auf ein anderen Punkt.
  View user's profile Private Nachricht senden
snuwie

Dabei seit: 06.07.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 22.11.2010 13:54
Titel

Antworten mit Zitat Zum Seitenanfang

ja, weil du bei klick ja beides durchführst ... im übrigen verwechselst du anscheinend ids und klassen

eine id kommt nur einmal pro seite vor, klassen können öfter vorkommen ...

ich würde es wohl so aufbauen:

Code:
<ul>
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
...
</ul>

<div id="tab1" class="tabs">
</div>
<div id="tab2" class="tabs">
</div>
...

$('.tabs').hide();

$('ul li a').click(function(){
$('ul li a').removeClass('active');
$('.tabs').hide();

speichershizzle = $(this).attr('href');
$(this).addClass('active');
$(speichershizzle).show();
});


http://jsfiddle.net/pjPUb/

wahlweise könntest du auch das jquery ui einsetzen ... http://jqueryui.com/demos/tabs/


Zuletzt bearbeitet von snuwie am Mo 22.11.2010 13:55, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 22.11.2010 14:10
Titel

Antworten mit Zitat Zum Seitenanfang

Pixelpate hat geschrieben:
Erscheint mir logisch.

Code:
$('active').hide();
$('active').removeClass('active');
$(this).addClass('active');
$(this).show();
});


So? Dann bleiben die actives allerdings geöffnet.
Sie sollen sich ja schließen bei klick auf ein anderen Punkt.


du "selektierst" falsch:
$('.active').hide();
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Vektorpate
Threadersteller

Dabei seit: 05.09.2006
Ort: Hamburg
Alter: -
Geschlecht: Männlich
Verfasst Mo 22.11.2010 14:36
Titel

Antworten mit Zitat Zum Seitenanfang

Alles klar, ich probiers mal.
Danke!!


Zuletzt bearbeitet von Vektorpate am Mo 22.11.2010 14:43, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen Problem mit CSS & JQuery
problem mit jquery und ie
jquery FF und IE8 Problem
jquery: Problem mit Safari
Problem mit Jquery und dem Ipad
Problem mit Jquery Akkordeon Menü
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.