Этот вопрос следует из предыдущего вопроса, который можно найти здесь: Необходимо постепенно исчезать в каждом круге 1 за другим с помощью jQuery
В основном сейчас, когда 'Изменение климата и энергия'щелчок по кругу, мне нужно скрыть все остальные круги кроме выделенного круга и показать подмножество или другие круги, которые следуют тому же пути, что и исходные круги.Но новые круги начинаются со следующей точки, начиная с нажатой окружности.
Я приложил изображение того, что нужно показать при нажатии на окружность, которое можно увидеть здесь: http://cl.ly/EO95
Вот код, с которым я пытался это сделать:
HTML:
<div class="circle_holder seventh">
<div class="circle pie">
<a href="#"><span>climate change and energy</span></a>
</div>
<div class="inner_circles hidden">
<div class="circle_holder eighth">
<div class="circle pie">
<a href="#"><span>energy efficiency</span></a>
</div>
</div>
<div class="circle_holder first">
<div class="circle pie">
<a href="#"><span>renewable energy</span></a>
</div>
</div>
<div class="circle_holder second">
<div class="circle pie">
<a href="#"><span>carbon finance</span></a>
</div>
</div>
<div class="circle_holder third">
<div class="circle pie">
<a href="#"><span>climate adaptation</span></a>
</div>
</div
<div class="circle_holder fourth">
<div class="circle pie">
<a href="#"><span>ghg footprint assessment</span></a>
</div>
</div
</div>
</div>
JS:
if ($.browser.msie || $.browser.version < 9) {
var circle = $('.circles .circle_holder > .circle');
$(circle).animate({
height: 168,
width: 168,
left: '0',
top: '0'
}, 1000);
if (window.PIE) {
$('.pie').each(function() {
PIE.attach(this);
});
}
}
$('.circles .circle_holder > .circle').each(function(i){
var time = 300 * (i + 1);
setTimeout(function(){
$('.circle').eq(i).addClass('open').animate({opacity: '1'}, i);
$('.circle a span').animate({opacity: '1'}, 4000);
}, time);
});
setTimeout(function() {
$('.circle').addClass('circles_loaded');
}, 3700);
$('.circles > .circle_holder > .circle').click( function(){
$('.inner_circles').removeClass('hidden', function() {
console.log($('.inner_circles').parent().hide());
$('.inner_circles').find().parent('.circle_holder').hide();
$('.inner_circles .circle').each(function(i){
var time = 300 * (i + 1);
setTimeout(function(){
$('.inner_circles .circle').eq(i).addClass('open').animate({opacity: '1'}, i);
$('.inner_circles .circle a span').animate({opacity: '1'}, 4000);
}, time);
});
});
});
Вот ссылка на jsFiddle, содержащуювсе HTML / CSS и JS: http://jsfiddle.net/thomasbritton/wV867/
Если бы кто-нибудь мог мне помочь с этим, я был бы очень признателен, так как я рвал на себе волосы в течение нескольких часов.
IЯ нахожусь в скайпе, если кто-то хотел бы обсудить это, если это могло бы помочь вещам.
Спасибо