私はUmbracoのカミソリスクリプトでドロップダウンシステムを作った。私は最終的にすべての子供を働かせましたが、どのようにドロップダウンリストにする必要があるサブアイテムを隠すのですか?私はjavascriptで何かを試したが、それは個々に1つの代わりにすべてのドロップダウンを開くように見えた。ドロップダウンを表示するjavascript
ここに私のコードです:
<div class="col-sm-3">
<div class="well well-lg span-padding extra-padding top background-light">
<ul class="nav nav-list tree">
@ {
var documentRootNodeId = Model.Content.GetPropertyValue("documentRoot", true); // Fetch recursive document root id.
var selection = Umbraco.TypedContent(documentRootNodeId).Children.Where("Visible"); // Select all nodes below the document root.
}
@foreach(var item in Model.Content.Ancestor(1).Descendants("menu")) {
foreach(var ItemChild in @item.Children("hoofdstuk")) {
<li> @ItemChild.Name </li>
foreach(var Subitem in @ItemChild.Children) {
<li><a href = "@Subitem.Url"> @Subitem.Name </a></li>
if (Subitem.Children.Any()) {
foreach(var Finalitem in @Subitem.Children) {
<ul>
<li> < a href = "@Finalitem.Url" > @Finalitem.Name </a></li>
</ul>
}
}
}
}
}
}
</ul>
</div>
</div>
Javascriptを:
function myFunction(a) {
var itemcount = a.parentNode.getElementsByClassName("sub").length;
for (i = 0; i < itemcount; i++) {
a.parentNode.getElementsByClassName("sub")[i].classList.toggle("show");
}
}
これは、それが表示されるものです:
たちまで隠されるサブSubtest1と2つのニーズがSubTest1である祖先をクリックします。 sub-subtest9でも同じです。
動的に動作するようには見えません。私がjavascriptで何かを作成すると、それは一度にすべてのドロップダウンを開き、個別には開きません。
最初に私たちにあなたのjavascriptを提供してください。次に、クラスを使用するようお勧めします。idは個々の要素をターゲットにできるようにします。ありがとう! –
私が望むように動作していなかったので、コードからjavascriptを削除しました。私はクラスをulに追加し、javascriptを使って表示を変更しました。私はとにかくjavascriptコードを追加し、それがjavascriptを使用するようにHTMLコードを調整します。 – Mik3NL