부 트 스 트랩 트 리 컨트롤 사용 경험 공유(그림 설명)
jquery 트 리 컨트롤 은 jquery+boottstrap 을 기반 으로 js 와 스타일 을 통 해 손 으로 쓴 매우 가 벼 운 컨트롤 로 기능 이 간단 하고 사용자 체험 이 좋 습 니 다.일부 간단 한 등급 관계 에 대한 전시 가 비교적 실 용적 이다.
앞에서 말 했 듯 이 우 리 는 프로젝트 에 나 무 를 사용 해 야 할 때 가 많 습 니 다.어떤 나 무 는 등급 관 계 를 보 여 주 는 것 일 뿐 입 니 다.어떤 나 무 는 등급 관 계 를 보 여 주 는 것 이 고 어떤 나 무 는 선택 한 다음 에 다른 곳 에서 선택 한 항목 을 호출 하기 위해 서 입 니 다.어쨌든 트 리 컨트롤 은 많은 항목 에 없어 서 는 안 되 거나 없어 서 는 안 되 는 구성 요소 중 하나 입 니 다.오늘 블 로 거들 은 자신의 사용 경험 과 인터넷 에서 찾 은 괜 찮 은 트 리 컨트롤 을 결합 하여 이곳 에서 공유 할 계획 입 니 다.여러분 에 게 가장 적합 한 컨트롤 을 찾 아 주 셨 으 면 합 니 다.아니면 그 말:컨트롤 이 가장 좋 지 않 고 가장 적합 할 뿐이다.
1.JQuery 트 리 컨트롤
Jquery 트 리 컨트롤 은 JQuery+boottstrap 을 기반 으로 js 와 스타일 을 통 해 손 으로 쓴 매우 가 벼 운 컨트롤 로 인터넷 여러 곳 에서 그림 자 를 볼 수 있 습 니 다.그것 은 기능 이 간단 하고 사용자 체험 이 좋다.일부 간단 한 등급 관계 에 대해 보 여 주 는 것 이 비교적 실 용적 이지 만 노드 에 대한 첨삭 과 수정 이 실현 되 기 가 쉽 지 않다.만약 에 굳이 하려 면 스스로 포장 해 야 할 수도 있다.
1.처음 모습 을 보면
싹 걷 어 치우다
한 단계 전개
모두 펼 치기
2.코드 예제
이 컨트롤 은 jQuery 와 boottstrap 구성 요 소 를 참조 하면 됩 니 다.
<link href="~/Content/Tree1/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" />
<link href="~/Content/Tree1/css/style.css" rel="external nofollow" rel="stylesheet" />
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
$('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');
$('.tree li.parent_li > span').on('click', function (e) {
var children = $(this).parent('li.parent_li').find(' > ul > li');
if (children.is(":visible")) {
children.hide('fast');
$(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign');
} else {
children.show('fast');
$(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign');
}
e.stopPropagation();
});
});
</script>
<div class="tree well">
<ul>
<li>
<span><i class="icon-folder-open"></i> 1</span> <a href="">Goes somewhere</a>
<ul>
<li>
<span><i class="icon-minus-sign"></i> 1</span> <a href=""></a>
<ul>
<li>
<span><i class="icon-leaf"></i> 1_1</span> <a href=""></a>
</li>
</ul>
</li>
<li>
<span><i class="icon-minus-sign"></i> 2</span> <a href=""></a>
<ul>
<li>
<span><i class="icon-leaf"></i> 2_1</span> <a href=""></a>
</li>
<li>
<span><i class="icon-minus-sign"></i> 2_2</span> <a href=""></a>
<ul>
<li>
<span><i class="icon-minus-sign"></i> 2_1</span> <a href=""></a>
<ul>
<li>
<span><i class="icon-leaf"></i> 2_1</span> <a href=""></a>
</li>
<li>
<span><i class="icon-leaf"></i> 2_2</span> <a href=""></a>
</li>
</ul>
</li>
<li>
<span><i class="icon-leaf"></i> 2_2</span> <a href=""></a>
</li>
<li>
<span><i class="icon-leaf"></i> 2_3</span> <a href=""></a>
</li>
</ul>
</li>
<li>
<span><i class="icon-leaf"></i> 2_3</span> <a href=""></a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<span><i class="icon-folder-open"></i> 2</span> <a href=""></a>
<ul>
<li>
<span><i class="icon-leaf"></i> 2_1</span> <a href=""></a>
</li>
</ul>
</li>
</ul>
</div>
이 코드 들 은 모두 인터넷 에서 직접 내 려 온 것 입 니 다.노드 위의 아이콘 은 스타일 을 통 해 수정 할 수 있 고 아이콘 스타일 도 boottstrap 을 기반 으로 합 니 다.노드 를 동적 으로 추가 할 필요 가 있다 면,스스로 구성 요 소 를 패키지 하여 html 를 맞 출 수 있 고,실현 하기 도 비교적 간단 할 것 이다.이상 에서 알 수 있 듯 이 이 구성 요소 의 경량급 입 니 다.노드 에 대한 추가 삭제 나 선택 등 작업 이 필요 하 다 면 서 두 르 지 마 십시오.아래 의 컨트롤 이 적 용 될 수 있 습 니 다.2.파일 트 리 편집 플러그 인 Treed
이 구성 요 소 는 인터넷 에서 찾 았 습 니 다.처음에 보 여 드 렸 을 때 팀 내 구성원 들 은 모두 효과 가 매우 좋다 고 생각 했 습 니 다.트 리 전 시 를 통 해 노드 의 첨삭 을 편리 하 게 제공 하기 때문이다.노드 의 신축 효과 도 비교적 좋다.자,어디 보 자.데모 및 다운로드 주소:http://www.jq22.com/jquery-info401
1.트 레이 드 를 처음 본다.
기본 전개 1 단계
왼쪽 에 있 는"+"번 과 오른쪽 에 있 는 노드 를 누 르 면 하위 노드 가 펼 쳐 집 니 다.
다단 계 전개
왼쪽 에서 노드 이름 을 편집 할 수 있 습 니 다.
Enter 키 를 누 르 면 줄 을 바 꾸 고 형제 노드 를 추가 합 니 다.줄 을 바 꾸 면 노드 를 삭제 할 수 있 습 니 다.
Enter 키 를 누 른 후 Tab 키 를 누 르 면 하위 노드 를 추가 할 수 있 습 니 다.
강하 다.심사 요 소 는 html 5 의 svg 라벨 을 사용 하여 이 루어 진 것 을 알 수 있 기 때문에 브 라 우 저 에 대해 어느 정도 요구 가 있 습 니 다.
3.유 니 버 설 트 리 컨트롤―zTree
ztree 는 전통 적 인 트 리 구성 요소 로 강력 한 기능 이 트 리 컨트롤 계 에서 의 위 치 를 결정 합 니 다.트 리 디 스 플레이 든 편집 이 든 노드 선택 과 다 중 선택 이 든 강력 한 기능 API 를 제공 합 니 다.그러나 인터페이스 효과 가 그다지 좋 지 않 기 때문에 많은 회사 들 이 이 를 사용 할 때 어느 정도 망 설 이 고 있다.다행히 편평 한 스타일 이 나 온 후에 ztree 도 어느 정도 미화 되 었 다.예 를 들 어 Metro 스타일 의 구성 요소 와 boottstrap 스타일 은 매우 비슷 하 다.오늘 은 Metro 스타일 의 ztree 와 결합 하여 이 구성 요소 의 용법 을 소개 합 니 다.데모 및 다운로드 주소:http://www.jq22.com/jquery-info941
1.구성 요소 사용
이 구성 요 소 는 Nuget 을 통 해 직접 추가 할 수 있 습 니 다.
2.구성 요소 효과
노드 모두 접 기
노드 전개
노드 선택,물론 필요 하 다 면 단일 선택 이 될 수 있 습 니 다.
노드 를 첨삭 할 수 있다
텍스트 상 자 를 누 르 면 트 리 가 나타 납 니 다.
3.코드 예제
3.1 화면 에 텍스트 상 자 를 직접 표시
인용 할 js 와 css 파일
<script src="~/Scripts/jquery-1.10.2.js"></script>
<script src="~/Content/bootstrap/js/bootstrap.js"></script>
<link href="~/Content/bootstrap/css/bootstrap.css" rel="external nofollow" rel="stylesheet" />
<script src="~/Scripts/jquery.ztree.all-3.5.js"></script>
<link href="~/Content/zTree.theme.metro.css" rel="external nofollow" rel="stylesheet" />
페이지 html
<div id="menuContent" class="menuContent" style="width:95%;border:1px solid rgb(170,170,170);z-index:10;">
<ul id="treeDemo" class="ztree" style="margin-top:0; width:100%; height:auto;"></ul>
</div>
JS 초기 화
var setting = {
view: {
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom,
selectedMulti: false
},
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
},
edit: {
enable: false
}
};
var zNodes = [
{ id: 1, pId: 0, name: " 1", open: true },
{ id: 11, pId: 1, name: " 11" },
{ id: 111, pId: 11, name: " 111" },
{ id: 112, pId: 11, name: " 112" },
{ id: 113, pId: 11, name: " 113" },
{ id: 114, pId: 11, name: " 114" },
{ id: 12, pId: 1, name: " 12" },
{ id: 121, pId: 12, name: " 121" },
{ id: 122, pId: 12, name: " 122" },
{ id: 123, pId: 12, name: " 123" },
{ id: 124, pId: 12, name: " 124" },
{ id: 13, pId: 1, name: " 13", isParent: true },
{ id: 2, pId: 0, name: " 2" },
{ id: 21, pId: 2, name: " 21", open: true },
{ id: 211, pId: 21, name: " 211" },
{ id: 212, pId: 21, name: " 212" },
{ id: 213, pId: 21, name: " 213" },
{ id: 214, pId: 21, name: " 214" },
{ id: 22, pId: 2, name: " 22" },
{ id: 221, pId: 22, name: " 221" },
{ id: 222, pId: 22, name: " 222" },
{ id: 223, pId: 22, name: " 223" },
{ id: 224, pId: 22, name: " 224" },
{ id: 23, pId: 2, name: " 23" },
{ id: 231, pId: 23, name: " 231" },
{ id: 232, pId: 23, name: " 232" },
{ id: 233, pId: 23, name: " 233" },
{ id: 234, pId: 23, name: " 234" },
{ id: 3, pId: 0, name: " 3", isParent: true }
];
$(document).ready(function () {
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});
function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0) return;
var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
+ "' title='add node' onfocus='this.blur();'></span>";
sObj.after(addStr);
var btn = $("#addBtn_" + treeNode.tId);
if (btn) btn.bind("click", function () {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.addNodes(treeNode, { id: (100 + newCount), pId: treeNode.id, name: "new node" + (newCount++) });
return false;
});
};
function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.tId).unbind().remove();
};
3.2 기본적으로 숨 기 고 어떤 사건 을 촉발 할 때 트 리 가 나타 납 니 다.이런 장면 은 프로젝트 에서 매우 흔히 볼 수 있 는데 보통 나무 노드 를 선택 하 는 데 쓰 인 다.그 러 니까 블 로 거들 도 이거 따로 꺼 내 서 얘 기해.div 기본 값 은 숨겨 져 있 습 니 다.
<input type="text" class="form-control" id="txt_ztree" placeholder=" ztree" onclick="showMenu()" />
<div id="menuContent2" class="menuContent" style="display:none;position: absolute;width:95%;border:1px solid rgb(170,170,170);z-index:10;">
<ul id="treeDemo2" class="ztree" style="margin-top:0; width:160px; height:auto;"></ul>
</div>
js 에서 트 리 초기 화 및 쇼 메뉴 등록()방법
var setting2 = {
check: {
enable: true,
chkStyle: "radio",
radioType: "all"
},
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true
}
},
callback: {
onClick: onClickNode,
onCheck: onCheck
}
};
var zNodes = [
{ id: 1, pId: 0, name: " 1", open: true },
{ id: 11, pId: 1, name: " 11" },
{ id: 111, pId: 11, name: " 111" },
{ id: 112, pId: 11, name: " 112" },
{ id: 113, pId: 11, name: " 113" },
{ id: 114, pId: 11, name: " 114" },
{ id: 12, pId: 1, name: " 12" },
{ id: 121, pId: 12, name: " 121" },
{ id: 122, pId: 12, name: " 122" },
{ id: 123, pId: 12, name: " 123" },
{ id: 124, pId: 12, name: " 124" },
{ id: 13, pId: 1, name: " 13", isParent: true },
{ id: 2, pId: 0, name: " 2" },
{ id: 21, pId: 2, name: " 21", open: true },
{ id: 211, pId: 21, name: " 211" },
{ id: 212, pId: 21, name: " 212" },
{ id: 213, pId: 21, name: " 213" },
{ id: 214, pId: 21, name: " 214" },
{ id: 22, pId: 2, name: " 22" },
{ id: 221, pId: 22, name: " 221" },
{ id: 222, pId: 22, name: " 222" },
{ id: 223, pId: 22, name: " 223" },
{ id: 224, pId: 22, name: " 224" },
{ id: 23, pId: 2, name: " 23" },
{ id: 231, pId: 23, name: " 231" },
{ id: 232, pId: 23, name: " 232" },
{ id: 233, pId: 23, name: " 233" },
{ id: 234, pId: 23, name: " 234" },
{ id: 3, pId: 0, name: " 3", isParent: true }
];
//
$(document).ready(function () {
$.fn.zTree.init($("#treeDemo2"), setting2, zNodes);
});
//
function showMenu() {
$("#menuContent2").css({ left: "15px", top: "34px" }).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
}
//
function hideMenu() {
$("#menuContent2").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
function onBodyDown(event) {
if (!(event.target.id == "menuBtn" || event.target.id == "menuContent2" || event.target.id == "txt_ztree" || $(event.target).parents("#menuContent2").length > 0)) {
hideMenu();
}
}
//
function onClickNode(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.checkNode(treeNode, !treeNode.checked, null, true);
return false;
}
//
function onCheck(e, treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
nodes = zTree.getCheckedNodes(true),
v = "";
var parentid = "";
var parentlevel = "";
for (var i = 0, l = nodes.length; i < l; i++) {
v += nodes[i].name + ",";
parentid += nodes[i].id + ",";
parentlevel += nodes[i].menu_level + ",";
}
if (v.length > 0) {
v = v.substring(0, v.length - 1);
parentid = parentid.substring(0, parentid.length - 1);
parentlevel = parentlevel.substring(0, parentlevel.length - 1);
}
else {
return;
}
hideMenu();
}
이상 은 모두 정적 데이터 이기 때문에 배경 에서 데 이 터 를 가 져 와 트 리 노드 를 동적 으로 불 러 오 려 면 배경 에서 zNodes 라 는 구조의 배열 을 구성 하면 됩 니 다.총화
상기 세 가지 트 리 구성 요 소 는 각각 천추 가 있 으 며 수요 에 따라 서로 다른 구성 요 소 를 선택 할 수 있 습 니 다.
위 에서 말 한 것 은 소 편 이 소개 한 Bootstrap 트 리 컨트롤 사용 경험 공유(그림 설명)입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
부트스트랩 5 스티커Sticky는 페이지의 특정 영역에서 요소를 잠글 수 있도록 하는 구성 요소입니다. 수동 설치(zip 패키지) 부트스트랩 이미지 구성 요소를 활용하고 프로젝트에서 사용하려면 먼저 을 설치해야 합니다. MDB CLI ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.