2017-02-07 5 views
2

Ein paar Probleme mit einem jquery Slider, die ich versuche zu machen.Probleme mit jQuery Slider

Auf JSF: jsfiddle.net/0hq91y5v/

ich fünf Punkt li Links haben, die ich zu jeder Folie zu verbinden bin versucht. Ich möchte es natürlich so machen, dass das Klicken auf jede Schaltfläche die Klasse in activeDot ändert und die Klasse von der aktuellen aktiven Schaltfläche entfernt. Ich habe das in jQuery versucht, aber es funktioniert nicht.

Ich habe auch etwas Code hinzugefügt, um zu versuchen und verblassen zwischen den verschiedenen Folien nach dem Klicken auf jede Schaltfläche mit der gleichen Methode, indem Sie die activeSlide-Klasse für jeden, aber dies wird auch nicht funktionieren.

Schließlich, mit Blick auf den Code, den ich verwendet habe, was wäre eine bessere/mehr semantische Methode zum Hinzufügen und Entfernen der ActiveSlide-Klasse beim Klicken auf die zugehörige Schaltfläche, anstatt zu tun, wie ich habe und eine Funktion für jeden Taste?

+0

möchten Sie http://jquery.malsup.com/cycle2/ verwenden? –

+0

Ich möchte kein Plugin verwenden –

Antwort

3

Sie müssen einige Änderungen an Ihrem aktuellen jQuery Code und Markup vornehmen.

einen Blick auf fiddle

dieser Code Sie das Verhalten Sie erwarten erreichen helfen, können Sie fadeIn() und fadeOut() hinzufügen, wie Sie benötigen.

$(document).ready(function() { 

    var activeSlide = $('#homeSlider > .activeSlide'); 
    var activeDot = $('#homeSliderNav > ul > li.activeDot'); 

    $('#homeSliderNav > ul > li').click(function() { 
     $('#homeSliderNav > ul > li').removeClass('activeDot'); 
     $(this).addClass('activeDot'); 
     $('.slide').removeClass('activeSlide'); 
     var slide = this.getAttribute('data-id'); 
     $('#' + slide).addClass('activeSlide'); 

    }); 

}); 
+0

Wenn dies das Problem löst, vor dem Sie stehen, markieren Sie diese Antwort als akzeptiert. –

+0

Danke für die Post. Ich habe versucht, Ihren Code zu meiner Website hinzuzufügen, aber ich habe die IDs zu Klassen gewechselt, so dass ich die ID nicht zweimal verwendet habe (für die Folie und die Schaltfläche), aber ich kann das nicht zum Laufen bringen. In jsf: jsfiddle.net/0hq91y5v/1/. –

+0

Sie können nicht einzelne ID zweimal in Markup verwenden, es ist eine Daumenregel. Checkout http://www.w3schools.com/tags/att_global_id.asp Definition und Verwendung Abschnitt. Wie ich bereits in der Beschreibung erwähnt habe, müssen Sie auch einige Änderungen im Markup vornehmen. –