slideToggle+slideup實現(xiàn)手機端折疊菜單效果
折疊菜單的效果,網(wǎng)上有很多的插件,比如bootstrap的 Collapse ,很好用也很簡單,但是如果你使用的不是bootstrap框架,就會造成很多不必要的麻煩,比如默認樣式被修改,代碼冗余等等,一般網(wǎng)上也有很多基于jQuery的插件,但是也都過于繁瑣,今天我就給大家說下,使用jQuery自帶的函數(shù),實現(xiàn)這種效果,話不多少,直接上代碼:
HTML部分:
<div class="box">
<!-- 內(nèi)容-->
<ul class="inner">
<li class="inner_title">綠色校園<span></span></li>
<ol class="inner_style">
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
</ol>
<li class="inner_title">綠色校園<span></span></li>
<ol class="inner_style">
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
</ol>
<li class="inner_title">綠色校園<span></span></li>
<ol class="inner_style">
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
<li>籃球場</li>
</ol>
</ul>
</div>
CSS部分:
<style>
body{
background: #dddddd;
}
.inner{
background: #fff;
width: 100%;
overflow: hidden;
list-style: none;
margin: 0;
padding: 0;
}
.inner .inner_title{
background-color: #fff;
width: 100%;
padding: 0 2.5%;
border-bottom: 1px solid #efefef;
color: #343434;
height: 40px;
line-height: 40px;
font-size: 16px;
position: relative;
}
.inner .inner_title span{
position: absolute;
width: 20px;
height: 20px;
top: 50%;
margin-top: -10px;
right: 6%;
background: url("images/arow_left.png") no-repeat center;
}
.inner .inner_title.active{
color: #4db780;
}
.inner .inner_title.active span{
background: url("images/arow_down.png") no-repeat center;
}
/*彈出的二級分類處理*/
.inner .inner_style{
margin: 0;
list-style: none;
width: 100%;
background-color: #efefef;
overflow: hidden;
padding: 15px 3%;
}
.inner .inner_style li{
float: left;
color: #333;
font-size: 14px;
width: 21%;
text-align: center;
line-height: 30px;
margin-right: 5%;
}
</style>
js部分(記得引入jQuery):
<script>
/**處理折疊效果**/
(function ($) {
$.fn.Fold = function (options) {
//默認參數(shù)設(shè)置
var settings = {
speed: 300 //折疊速度(值越大越慢)
}
//不為空則合并參數(shù)
if (options)
$.extend(settings, options);
//遵循鏈式原則
return this.each(function () {
//為每個li元素綁定點擊事件
$("> li", this).each(function () {
$(this).bind("click", function () {
//單擊之前先判斷當(dāng)前菜單是否折疊
if($(this).hasClass('active')){//折疊狀態(tài)
$(".inner ol").slideUp('500');//使用slideup()折疊其他選項
$(this).removeClass('active');//移除選中樣式
}else{//打開狀態(tài)
$(this).siblings('li').removeClass('active');
$(".inner ol").slideUp('500');//使用slideup()折疊其他選項
$(this).addClass('active')//添加選中樣式
$(this).next("ol").slideToggle(settings.speed);
}
});
});
//默認折疊
$("> ol", this).hide();
});
}
})(jQuery);
$(".inner").Fold();//調(diào)用
</script>
效果如下:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
清空元素html("") innerHTML="" 與 empty()的區(qū)別和應(yīng)用(推薦)
這篇文章主要介紹了清空元素html("")、innerHTML="" 與 empty()的區(qū)別和應(yīng)用,詳細介紹了三者之間的原理及應(yīng)用,需要的朋友可以參考下2017-08-08
jQuery中綁定事件bind() on() live() one()的異同
本文主要介紹了jQuery中綁定事件bind() on() live() one()的異同,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02
jQuery實現(xiàn)帶展開動畫的導(dǎo)航欄效果
這篇文章主要為大家詳細介紹了jQuery實現(xiàn)帶展開動畫的導(dǎo)航欄效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-07-07
jQuery插件MovingBoxes實現(xiàn)左右滑動中間放大圖片效果
本篇文章主要介紹jQuery中MovingBoxes左右滑動放大圖片插件示例,實現(xiàn)左右滑動和放大效果,有興趣的可以了解一下。2017-02-02
jQuery實現(xiàn)中獎播報功能(讓文本滾動起來) 簡單設(shè)置數(shù)值即可
這篇文章主要介紹了jQuery實現(xiàn)中獎播報功能(讓文本滾動起來) 簡單設(shè)置數(shù)值即可,文中通過實例代碼給大家詳細介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03

