《锋利的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实现简单的菜单隐藏于切换
原文地址:https://www.cnblogs.com/linbudu/p/10536602.html