KOD
<script type="text/javascript" charset="utf-8">
$('#menu').each(function () {
var $links = $(this).find('a'),
panelIds = $links.map(function() {return this.hash;}).get().join(","),
$panels = $(panelIds),
$panelwrapper = $panels.filter(':first').parent(),
delay = 500
$panels.hide();
$links.click(function () {
var link = this,
$link = $(this);
// ignore if already visible
if ($link.is('.selected')) {
return false;
}
$links.removeClass('selected');
$link.addClass('selected');
if ($.support.opacity) {
$panels.stop().animate({opacity: 0}, delay);
}
$panelwrapper.stop().animate({height: 0}, delay, function () {
var height = $panels.hide().filter(link.hash).css('opacity', 1).show().height();
$panelwrapper.animate({height: height}, delay);
});
});
$links.filter(window.location.hash ? '[hash=' + window.location.hash + ']' : ':first').click();
});
</script>
$('#menu').each(function () {
var $links = $(this).find('a'),
panelIds = $links.map(function() {return this.hash;}).get().join(","),
$panels = $(panelIds),
$panelwrapper = $panels.filter(':first').parent(),
delay = 500
$panels.hide();
$links.click(function () {
var link = this,
$link = $(this);
// ignore if already visible
if ($link.is('.selected')) {
return false;
}
$links.removeClass('selected');
$link.addClass('selected');
if ($.support.opacity) {
$panels.stop().animate({opacity: 0}, delay);
}
$panelwrapper.stop().animate({height: 0}, delay, function () {
var height = $panels.hide().filter(link.hash).css('opacity', 1).show().height();
$panelwrapper.animate({height: height}, delay);
});
});
$links.filter(window.location.hash ? '[hash=' + window.location.hash + ']' : ':first').click();
});
</script>
Dzięki niemu po kliknięciu w odpowiedni odnośnik z danym identyfikatorem w href skrypt zwija odpowiedni blok i wysuwa kolejno wybrany za pomocą kliknięcia. Wszystko działa praktycznie idealnie, ale nie w moim przypadku. W każdym panelu, który miałby się rozwijać chciałbym umieścić dwie kolumny (divy) obok siebie, które rozwijały by się osobno i jednocześnie. Zależy mi na tym, aby nierozwinięcie drugiego diva nie psuło na moment layoutu strony.
Po prostu chciałbym, aby skrypt odczytywał klasy, zamiast identyfikatorów i działał na więcej niż jednym bloku w jednej akcji.
Czy jest to możliwe? W jaki sposób uzyskać taki efekt?
P.S. Pisałem również na DobrychProgramach, jak na razie bez odzewu.