클릭시 어린이를 탐색하고 확장


-1

현재 탐색을 위해 아래 스크립트를 사용하고 클릭시 확장하는 프로젝트에 참여하고 있습니다. 그러나 문제는 탐색이 붕괴되지 않으면 열어두기를 원한다는 것입니다.

하지만 현재 직면하고있는 문제는 클릭하면 펼쳐지고 페이지 중 하나를 클릭하면 다시 접히는 것입니다. 확장 된 페이지 중 하나를 클릭하면 열려 있기를 원합니다.

  <li class="group"><a href="#" title="." onClick="this.parentNode.className 
 = (this.parentNode.className=='groupOpen') ? &quot;group&quot; : 
 &quot;groupOpen&quot;; return false;">

누군가를 돕기 위해 프로젝트 파일을 제공 할 수 있습니다. 그것은 나를 미치게 만든다.

동적 JS 파일

function makeTreesC() {
// We don't actually need createElement, but we do
// need good DOM support, so this is a good check.
if (!document.createElement) return;

uls = document.getElementsByTagName("ul");
for (uli=0;uli<uls.length;uli++) {
    ul = uls[uli];
    if (ul.nodeName == "UL" && ul.className == "nav") {
        processULELC(ul);
    }
}
}

function processULELC(ul) {
if (!ul.childNodes || ul.childNodes.length == 0) return;
// Iterate LIs
for (var itemi=0;itemi<ul.childNodes.length;itemi++) {
    var item = ul.childNodes[itemi];
    if (item.nodeName == "LI") {
        // Iterate things in this LI
        var a;
        var subul;
        subul = "";
        for (var sitemi=0;sitemi<item.childNodes.length;sitemi++) {
            var sitem = item.childNodes[sitemi];
            switch (sitem.nodeName) {
                case "A": a = sitem; break;
                case "UL": subul = sitem; 
                           processULELC(subul);
                           break;
            }
        }
        if (subul) {
            associateELC(a,subul);
        } else {
            // Sections don't have links, so check for those and 
            // double-check for sections before assuming it's a 
            // link.
            if(a) {
                if(a.parentNode.className.indexOf('section') == -1) {
                    a.parentNode.className = "link";
                }
            }
        }
    }
   }
  }

function associateELC(a,ul) {
/*  default to closed */
if (a.parentNode.className.indexOf('groupOpen') == -1)
  a.parentNode.className = 'group';

a.onclick = function () {
    this.parentNode.className = (this.parentNode.className=='groupOpen') ? 
"group" : "groupOpen";
    return false;
}
}


 function expandAll() {
// We don't actually need createElement, but we do
// need good DOM support, so this is a good check.
if (!document.createElement) return;

listItems = document.getElementsByTagName("li");
for (i=0;i<listItems.length;i++) {
    it = listItems[i];
    if (it.nodeName == "LI" && it.className == "group") {
        it.className = "groupOpen"
    }
}
}

 function collapseAll() {
// We don't actually need createElement, but we do
// need good DOM support, so this is a good check.
if (!document.createElement) return;

listItems = document.getElementsByTagName("li");
for (i=0;i<listItems.length;i++) {
    it = listItems[i];
    if (it.nodeName == "LI" && it.className == "groupOpen") {
        it.className = "group"
    }
}
}


 /*              Utility functions                    */

 function addEvent(obj, evType, fn){
/* adds an eventListener for browsers which support it
 Written by Scott Andrew: nice one, Scott */
if (obj.addEventListener){
obj.addEventListener(evType, fn, true);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
 } else {
return false;
 }
 }

나는 JS가 싫어서 화가났다. Plz, 도와 줘. 파일을 프로파일 링 할 수 있습니다. 내부 프로젝트이므로 비공개이어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.