jQuery – Coda Slider, wie bestimmen welcher Panel gerade sichtbar ist?

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
ich hab den Coda-Slider von hier eingebaut.
Wie kann ich den feststellen welches Panel gerade sichtbar ist?
Den die unsichtbaren Panels sind ja nicht auf display:none oder so gestellt sondern nur außerhalb der Größe des umschließenden Div, bei dem overflow auf hidden steht.

Ich müßte ein paar Elemente entladen wenn bestimmte Panels sichtbar sind.

Viele Grüße
 
Hey!

Also ich bin noch in der Einarbeitungsphase von jquery und ich hab noch nie mit diesem Coda Slider gearbeitet, aber ich habe bemerkt, dass dem aktiven Link in der Navigation die Klasse selected zugewiesen wird.

Du könntest also (wahrscheinlich nicht die schönste Lösung) mit einem each die a-Tags durchgehen und abfragen ob $(this).hasClass("selected").

Würde dann so aussehen:
HTML:
<script type="text/javascript">
$("a").each(function()
  {
    if($(this).hasClass("selected"))
    {
      $(this).css("color", "#FFF")
    }
  });
</script>

Ich habs ausprobiert und es hat funktioniert (bei mir in einem click-Event)

Ich hoffe ich konnte helfen.

greez
THEJS
 
Hallo THEJS,
das ist schonmal eine echt gute Idee. Nur funktioniert diese bei mir nicht da ich auf dieser einen Seite wo ich die Abfrage benötige kein Menü habe sondern nur die prev/next links.
Es geht darum ein Menü kontextgebunden an einer Position einzublenden.

Viele Grüße
 
Achso ... hm...

Nja ich glaub das, was du suchst, ist das target-Objekt.
Die Frage die sich für mich stellt ist: Wie kommt man da hin?

Mit $.localScroll.target :confused:
oder doch über den $('#slider')?
Wenn ich einen Source hätte, würde ichs ja ausprobieren ;)

Wie gesagt, ich bin noch Neuling in JQuery, also entschuldige falls ich Mist schreibe [:

greez
THEJS
 
Hi,
ich bin noch Neuling in JQuery
wilkommen im Club :) .
Wenn ich einen Source hätte, würde ichs ja ausprobieren
ich kann mal was auf pastebin hochladen.

Nur ich verstehe nicht wie das mit dem target-Ojekt funktionieren soll, da ja alle Texte nodes von $(slider) sind die ansich ja gleich aussehen.
Vielleicht könnte man ja was über die Position der nodes relativ zu $(#slider) machen. Nur sowas übersteigt bei weitem mein Können.

Grüße
 
Keine direkte Ahnung wie sie das scrollen nun direkt betreiben , dafür scheinen sie aber wiederrum Plugins eingebunden zu haben.

Fakt ist aber das herrausgefunden werden kann wo eben hingescrollt wurde dafür gibt es eine Callback Funktionen bei denen drinnen.

Code:
// zeile 44 - 48
// go find the navigation link that has this target and select the nav
function trigger(data) {
    var el = $('#slider .navigation').find('a[href$="' + data.id + '"]').get(0);
    selectNav.call(el);
}

In dem Parameter data wird das Html Objekt übergeben wo er eben hingescrollt hat also auf welchen Container.

data.id gibt somit zum Beispiel Terminal wieder wenn auf Terminal gescrollt wurde.

Auf einen anderen Weg hätte ich halt gesagt , okay nimmst halt die Position x zum Beispiel -2000px und die Weite vom Anzeigebereich von 400px.

2000 / 400 = 5 also müssen wir beim 6. Container sein eben zum Beispiel aber Firebug gibt da nix brauchbares raus und eh man da nun sich noch durch 2 weitere Plugins sucht erscheint mir die obere Lösung als die brauchbarere.
 
Zurück