【发布时间】:2014-03-06 04:38:57
【问题描述】:
这个问题是上一个问题的后续问题,可以在这里找到:Need to fadeIn each circle 1 after the other with 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);
});
});
});
这是一个包含所有 HTML/CSS 和 JS 的 jsFiddle 的链接:http://jsfiddle.net/thomasbritton/wV867/
如果有人能帮我解决这个问题,我将非常感激,因为我已经为此烦恼了好几个小时。
如果有人愿意通过它进行交谈,如果它可能对事情有所帮助,我正在使用 Skype。
谢谢
【问题讨论】:
-
好吧,我试图创建一个小提琴来玩 - 使用你的“旧”(上一个问题)CSS但没有成功......
-
不,我的意思是,我们在这个问题中遗漏了一些 CSS,如果您已经提供了圆圈子集和您需要的其他内容,那就太好了...(附注:我得到了一个“工作演示” ' 通过将此问题中的 JS 添加到另一个问题的回答者演示中。)
-
哦,好的,我已将其放入小提琴中,可在此处找到:jsfiddle.net/thomasbritton/wV867
-
只有在“食物和水”点击才会弹出额外的圈子?
-
点击“气候变化和能源”,第七圈
标签: jquery jquery-selectors jquery-animate traversal jquery-traversing