Javascript 单击事件时隐藏和显示单击项目
我需要根据年份隐藏和显示时间线中的元素 假设在2015年使用clicks,那么如果用户再次单击同一年,它应该隐藏所有it子元素并显示它 我已经根据我的设计修改了以下HTML和CSS,可以在这里找到原始脚本Javascript 单击事件时隐藏和显示单击项目,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我需要根据年份隐藏和显示时间线中的元素 假设在2015年使用clicks,那么如果用户再次单击同一年,它应该隐藏所有it子元素并显示它 我已经根据我的设计修改了以下HTML和CSS,可以在这里找到原始脚本http://codyhouse.co/gem/vertical-timeline/ 我有小提琴 当我单击年份时,它仅隐藏第一个元素,而不是该特定年份块中的所有cd时间线块 这是因为您在当前上下文中使用了.next()。它只针对下一个第一个兄弟姐妹,而不是所有兄弟姐妹。您需要将单击处理程序修改为
http://codyhouse.co/gem/vertical-timeline/
我有小提琴
当我单击年份时,它仅隐藏第一个元素,而不是该特定年份块中的所有
cd时间线块 这是因为您在当前上下文中使用了.next()
。它只针对下一个第一个兄弟姐妹,而不是所有兄弟姐妹。您需要将单击处理程序修改为:
$('.cd-year').click(function(){
$(this).parent().find('.cd-timeline-block').slideToggle();
});
或
或
更新:仅保留第一年选项:
$('.cd-year').click(function(){
$(this).nextAll().slideToggle();
}).not(':first').click();
您需要像这样使用
$('.cd-year').click(function(){
$(this).nextAll(".cd-timeline-block").slideToggle();
});
next()将仅获取下一个元素。您应该使用.nextAll()
来获取所有元素
@KnowledgeSeeker:很高兴它能帮上忙:)我如何在默认情况下最小化所有内容,或者只打开第一年选项。同时我也将尝试$('.cd year')。单击(function(){$(this).nextAll().slideToggle();})。而不是(':first')。单击()代码>
$('.cd-year').click(function(){
$(this).nextAll().slideToggle();
}).not(':first').click();
$('.cd-year').click(function(){
$(this).nextAll(".cd-timeline-block").slideToggle();
});