作为一名后端开发程序猿,为了能够更好的做好后端开发,很多时候需要去了解前端的东西,比如JS。所谓技多不压身,所以就在闲暇之余学习学习前端,今天就顺便给我们的UI找了一个效果,特此分享出来,做个分享,也为自己这业余前端做个备忘。下面介绍简单的手风琴效果实现过程,直接上代码:
html代码 demo.html(没有写样式,只实现效果,样式就交给前台页面设计吧):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>手风琴Demo</title>
</head>
<body>
<div >
<ul class="leftli">
<li>First</li>
<ul>
<li>First One</li>
<li>First Two</li>
</ul>
<li>two</li>
<ul>
<li>two One</li>
<li>two Two</li>
</ul>
<li>three</li>
<ul>
<li>three One</li>
<li>three Two</li>
</ul>
<li>four</li>
<ul>
<li>four One</li>
<li>four Two</li>
</ul>
</ul>
</div>
</body>
<script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="js/demo.js"></script>
</html>
JS代码 demo.js(需引入JQuery的包):
$(function() {
//设置DIV的高度跟随屏幕变化而变化,类似于自适应
$(".leftli").height(document.body.scrollHeight);
//隐藏leftli下所有ul元素
$(".leftli ul").hide();
//bind()为.leftli li的li生成点击事件
$(".leftli li").bind("click", function() {
/**
.netx("ul")获取同级的下一个ul元素
slideToggle(300)展开/关闭当前被点击的ul元素,300为速度,除了可以是数字还可以"slow"、"normal"、"fast"
siblings("ul")遍历所有的ul元素
**/
$(this).next("ul").slideToggle(300).siblings("ul").slideUp(300);
})
})
完成。
利用JQuery能快速实现一些效果,还是非常方便的。若有的方法或属性用途不明白又想探个究竟的,推荐可到w3school学习学习。
万事开头难,CSDN的第一篇博客就从一个简单的JS效果开始,工作近3年,觉得是时候该总结一下了,不然经验就会随着时间仅仅成为经历而已。