The Jquery tree menu is all expanded by default and needs to be retracted. Solve_html/css_WEB-ITnose

WBOY
Release: 2016-06-24 11:52:39
Original
1157 people have browsed it

I downloaded a piece of Jquery tree menu code from my personal website. By default, the opened page is fully expanded. It needs to be shrunk and only the first level is displayed. Where can I modify it?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><!--图标样式--><link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" /><!--主要样式--><link rel="stylesheet" type="text/css" href="css/style.css" /><script type="text/javascript" src="js/jquery-1.7.2.min.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></head><body><div class="tree well"><ul>	<li>		<span><i class="icon-minus-sign"></i> Parent2</span> <a style="display:none" href="#">Test</a>		<ul>			<li>				<span style=""><i class="icon-globe"></i> Child</span> <a style="display:none" href="#">Test</a>			</li>			<li>				<span><i class="icon-globe"></i> Child</span> <a style="display:none" href="#">Test</a>			</li>		</ul>	</li>	<li>		<span><i class="icon-minus-sign"></i> Parent2</span> <a style="display:none" href="#">Test</a>		<ul>			<li>				<span><i class="icon-globe"></i> Child</span> <a style="display:none" href="#">Test</a>			</li>		</ul>	</li>	<li>		<span><i class="icon-globe"></i> Parent2</span> 			</li></ul></div></body></html>
Copy after login


Reply to the discussion (solution)

No one can help me. .

.addClass('icon-plus-sign').removeClass('icon-minus-sign');

This is adding style and removing style. Use show() and hide() in jq to show and hide

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title> <!--图标样式--><link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" /> <!--主要样式--><link rel="stylesheet" type="text/css" href="css/style.css" /> <script type="text/javascript" src="js/jquery-1.7.2.min.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').live('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> </head><body> <div class="tree well"><ul>    <li>        <span><i class="icon-minus-sign"></i> Parent2</span> <a style="display:none" href="#">Test</a>        <ul>            <li>                <span style=""><i class="icon-globe"></i> Child</span> <a style="display:none" href="#">Test</a>            </li>            <li>                <span><i class="icon-globe"></i> Child</span> <a style="display:none" href="#">Test</a>            </li>        </ul>    </li>    <li>        <span><i class="icon-minus-sign"></i> Parent2</span> <a style="display:none" href="#">Test</a>        <ul>            <li>                <span><i class="icon-globe"></i> Child</span> <a style="display:none" href="#">Test</a>            </li>        </ul>    </li>    <li>        <span><i class="icon-globe"></i> Parent2</span>              </li></ul></div> <script>$('ul li ul:not(:first) li').hide()</script></body></html>
Copy after login

.addClass('icon-plus-sign').removeClass('icon-minus -sign');

This is to add styles and remove styles. Show() and hide() are used in jq to show and hide



I will give you CSS and you can see. They are used to replace the expansion and contraction plus and minus icons. The css of icons are all icons.
a:link { color: #000000; text-decoration: none;}a:visited { color: #000000; text-decoration: none;}a:hover { color:#999999; text-decoration: underline;}a:active { color: #000000; text-decoration: none;}.tree {    min-height:20px;    padding:19px;    margin-bottom:20px;    background-color:#fbfbfb;    border:1px solid #999;    -webkit-border-radius:4px;    -moz-border-radius:4px;    border-radius:4px;    -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);    -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);    box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05)}.tree li {    list-style-type:none;    margin:0;    padding:10px 5px 0 5px;    position:relative}.tree li::before, .tree li::after {    content:'';    left:-20px;    position:absolute;    right:auto}.tree li::before {    border-left:1px solid #999;    bottom:50px;    height:100%;    top:0;    width:1px}.tree li::after {    border-top:1px solid #999;    height:20px;    top:25px;    width:25px}.tree li span {    -moz-border-radius:5px;    -webkit-border-radius:5px;    border:1px solid  #999999;    border-radius:5px;    display:inline-block;    padding:3px 8px;    text-decoration:none}.tree li.parent_li>span {    cursor:pointer}.tree>ul>li::before, .tree>ul>li::after {    border:0}.tree li:last-child::before {    height:30px}.tree li.parent_li>span:hover, .tree li.parent_li>span:hover+ul li span {    background:#eee;    border:1px solid #94a0b4;    color:#000}
Copy after login

$(function(){    $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch');    $('.tree li.parent_li > span').live('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>$('ul li ul:not(:first) li').hide()</script>
Copy after login



Hi Thank you very much! I'm going to learn the functions of live and on here, <script>$('ul li ul li').hide()</script> All indented.
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template