用JQuery实现简单的菜单隐藏于切换
Posted linbudu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用JQuery实现简单的菜单隐藏于切换相关的知识,希望对你有一定的参考价值。
《锋利的JQuery》第一个demo<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script type="text/javascript" src="jquery-3.3.1.min.js"></script>
<title>Document</title>
<style>
div.showall>a:hover{
color: rgb(235, 147, 39)
}
.promoted{
background-color: deepskyblue;
width: 10%;
}
</style>
</head>
<body>
<div class="container">
<ul>
<li><a href="#">Html</a></li>
<li><a href="#">Css</a></li>
<li><a href="#">JavaScript</a></li>
<li><a href="#">JQuery</a></li>
<li><a href="#">BootStrap</a></li>
<li><a href="#">Ajax</a></li>
<li><a href="#">Node.js</a></li>
<li><a href="#">Http</a></li>
<li><a href="#">Tcp/Ip</a></li>
<li><a href="#">Vue</a></li>
<li><a href="#">Github</a></li>
<li><a href="#">Webpack</a></li>
<li><a href="#">Json</a></li>
<li><a href="#">OOP</a></li>
<li><a href="#">Less</a></li>
</ul>
<div class="showall">
<a href="more.html"><span>显示全部</span></a>
<!-- 平稳退化:如果用户禁用了js 就将整个页面重载来显示完整列表 -->
</div>
</div>
<script>
var $hiddenitems = $("ul li:gt(5):not(:last)");//获取ul下索引值大于5的li元素,再去掉最后一个符合的li
$hiddenitems.hide();
var showbtn = $("div.showall> a");//不能用.showall div
showbtn.click(function(){
if($hiddenitems.is(":visible")){
$hiddenitems.hide();
$(this).find("span").css("color","red")
.text("收起列表");
$("ul li").filter(":contains(‘JQuery‘),:contains(‘Node‘)")
.removeClass("promoted");
}else{
$hiddenitems.show();
$(this).find("span").css("color","deepskyblue")
.text("显示全部");
$("ul li").filter(":contains(‘JQuery‘),:contains(‘Node‘)")
.addClass("promoted");
}
return false;
})
//《锋利的JQuery》中提到了使用toggle方法,我试了一下发现并不可以
//查阅后得知jquery1.9以后toggle方法只做切换隐藏显示动画用了,toggle([speed],[easing],[fn])
</script>
</body>
</html>
以上是关于用JQuery实现简单的菜单隐藏于切换的主要内容,如果未能解决你的问题,请参考以下文章