Ich versuche, eine FAQ-Seite in HTML, CSS und jQuery zu machen. Ich möchte meinen Pfeil beim Öffnen der Frage drehen und ihn beim Klicken auf eine andere Frage zurückdrehen. Ich schaffte es mit den <p>
Tags, aber ich habe jetzt Probleme mit dem Bild. Weiß jemand, wie man das macht?Jquery zwischen den Bildern wechseln
Dies ist der Code, den ich schrieb: http://jsfiddle.net/jmex1p5g/62/
$(document).ready(function(){
var $li_p = $('ul[class="questions"] li').children('p');
var $li_a = $('ul[class="questions"] li').children('a');
if($li_p.slideToggle().toggleClass('closed')){
$li_p.hide();
}
$('ul[class="questions"] li').click(function() {
var ullist = $(this).children('p:first');
ullist.slideToggle().toggleClass('closed');
var isVisible = ullist.is(".closed");
var siblings = $(this).siblings('li');
$.each(siblings, function (i, key) {
if ($(key).find('a').hasClass('icon_minus')) {
var sibling = $(key).children('p:first');
$(sibling).slideToggle().addClass('closed');
$(key).find('a').removeClass('icon_minus').addClass('icon_plus');
}
});
var img_icon = $(this).children('a');
var image = $(this).children('span');
var realimage = $(image).children('img');
if (isVisible === true){
img_icon.removeClass('icon_minus').addClass('icon_plus');
realimage.removeClass('rotate');
$(this).siblings('img').removeClass('rotate');
} else {
img_icon.removeClass('icon_plus').addClass('icon_minus');
realimage.addClass('rotate');
}
});
});
Ihr Code ist ein Chaos. Ich würde einfach eine Klasse '.active' zum' li' hinzufügen/entfernen und dann den Rest über CSS behandeln. Oder benutze einfach ein Plugin wie [dieses] (http://www.jqueryscript.net/demo/Simple-Smooth-FAQ-Accordion-with-jQuery-CSS-FAQ-Slider/). – Miro