[英]display hidden divs when another div is clicked
I am currently try create a custom navigation on websites homepage that uses tiles for navigation. 我目前正在尝试在使用瓷砖进行导航的网站首页上创建自定义导航。
I am using MVCSiteMapProvider for MVC5 to display live tiles on the homepage as well as a standard bootstrap navbar, when the user loads the homepage only the main parent navigation any values nested under the parent are hidden. 我正在使用MCS5的MVCSiteMapProvider在主页上显示实时磁贴以及标准的引导导航栏,当用户加载主页时,仅隐藏主父导航,嵌套在父下的任何值都将被隐藏。
The CSHTML below is what I have managed to create so far: 到目前为止,我已经设法创建了以下CSHTML:
<section id="content">
<div class="main-content">
@{
var nodes = MvcSiteMapProvider.SiteMaps.Current.CurrentNode;
}
@foreach (var node in nodes.RootNode.ChildNodes)
{
<div class="col-md-4 live-tile" id="@node.Key">
<div class="@node.Description">
<h3>@node.Title</h3>
</div>
</div>
foreach (var childNode in node.ChildNodes)
{
<div class="col-md-4 hidden @childNode.ParentNode.Key">
<div class="@childNode.Description">
<h3>@childNode.Title</h3>
</div>
</div>
}
}
</div>
</section>
<script type="text/javascript">
$('.live-tile').on('click', function () {
var ids = $('.live-tile').map(function () {
return this.id;
}).get();
$.each(ids, function (index, value) {
});
});
</script>
I need some guidance on how to display multiple divs when one of the parent tiles (div) is clicked. 我需要一些有关如何在单击父图块(div)时显示多个div的指导。
I only want to show the child elements, currently I am try to do this using the id of the parent div as a class on it child elements, when the parent is clicked the other top level divs should be hidden and the child elements and parent should be visible. 我只想显示子元素,当前我尝试使用父div的id作为子元素上的类来执行此操作,单击父元素时,其他顶级div应该被隐藏,子元素和父元素应该是可见的。
Any advice would be very much appreciated. 任何建议将不胜感激。
Try this: 尝试这个:
<div class="col-md-4 live-tile" id="@node.Key">
<div class="@node.Description">
<h3>@node.Title</h3>
</div>
</div>
<div class="col-md-4 hidden @childNode.ParentNode.Key">
<div class="@childNode.Description">
<h3>@childNode.Title</h3>
</div>
</div>
<div class="col-md-4 hidden @childNode.ParentNode.Key">
<div class="@childNode.Description">
<h3>@childNode.Title</h3>
</div>
</div>
<div class="col-md-4 hidden @childNode.ParentNode.Key">
<div class="@childNode.Description">
<h3>@childNode.Title</h3>
</div>
</div>
<div class="col-md-4 live-tile" id="@node.Key">
<div class="@node.Description">
<h3>@node.Title</h3>
</div>
</div>
<div class="col-md-4 hidden @childNode.ParentNode.Key">
<div class="@childNode.Description">
<h3>@childNode.Title</h3>
</div>
</div>
<div class="col-md-4 hidden @childNode.ParentNode.Key">
<div class="@childNode.Description">
<h3>@childNode.Title</h3>
</div>
</div>
<div class="col-md-4 hidden @childNode.ParentNode.Key">
<div class="@childNode.Description">
<h3>@childNode.Title</h3>
</div>
</div>
</div>
$('.live-tile').on('click', function () {
$('.main-content>div').not('.live-tile').addClass('hidden');// hide all divs on click
$('.main-content>div').removeClass('clicked');
$(this).addClass('clicked');
$('.clicked').nextUntil( '.live-tile', "div.hidden" ).removeClass('hidden');// now show the next hidden ones
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.