jQuery折叠风琴
这个效果用jQuery做是很方便的,根本不需要搞得很复杂。
网上有些效果DEMO不仅用了jQuery还引用一两个封装文件,真是匪夷所思。
最初想到了toggle:
jQuery(document).ready(function() {
//初始化第一个默认显示: jQuery("#list_content_list .firstblock").css({display:"block"});
jQuery("#list_content_list .firstshow").find('.pparrow').attr({src:"images/pparrowup.jpg"}); jQuery("#list_content_list a.l1").click(function() {
jQuery(this).siblings().slideToggle('slow');
jQuery(this).parent().siblings().find('ul.side2').hide();
return false;
});
//标题上一个箭头图片的变换,点击的时候来回切换SRC:
jQuery("#list_content_list a.l1").toggle(
function () {
//这里其实还需要重置所有的箭头来使旧的点击过的箭头复原。
jQuery(this).parent().siblings().find('.pparrow').attr({src:"images/pparrowdown.jpg"});
jQuery(this).find('.pparrow').attr({src:"images/pparrowup.jpg"});
},
function () {
jQuery(this).parent().siblings().find('.pparrow').attr({src:"images/pparrowup.jpg"});
jQuery(this).find('.pparrow').attr({src:"images/pparrowdown.jpg"});
}
);
});
凌乱的逻辑
后来我想通了,既然有toggle还要click事件干嘛咧?(大误!)
jQuery(document).ready(function() {
jQuery("#list_content_list a.l1").css({cursor:"pointer"});
jQuery("#list_content_list a.l1").toggle(
function () {
jQuery(this).siblings().slideToggle('normal');
jQuery(this).parent().siblings().find('ul.side2').hide();
jQuery(this).parent().siblings().find('.pparrow').attr({src:"images/pparrowdown.jpg"});
jQuery(this).find('.pparrow').attr({src:"images/pparrowup.jpg"});
},
function () {
jQuery(this).siblings().slideToggle('normal');
jQuery(this).parent().siblings().find('ul.side2').hide();
jQuery(this).parent().siblings().find('.pparrow').attr({src:"images/pparrowup.jpg"});
jQuery(this).find('.pparrow').attr({src:"images/pparrowdown.jpg"});
}
);
});
错误的逻辑
其实是有click还要toggle干嘛咧!来来回回变完全脱离用户意识了,又会再现不按规律出牌的BUG。
jQuery(document).ready(function() {
jQuery("#list_content_list a.l1").css({cursor:"pointer"});
jQuery("#list_content_list a.l1").click(
function () {
jQuery(this).siblings().slideToggle('normal');
jQuery(this).parent().siblings().find('ul.side2').hide();
jQuery(this).parent().siblings().find('.pparrow').attr({src:"images/pparrowdown.jpg"});
jQuery(this).find('.pparrow').attr({src:"images/pparrowup.jpg"});
}
);
});
但是这样,箭头还是只有在点其他东西的时候复原。点自己却不会复原了。
这时我又想到了toggle,万恶的toggle啊,还是会脱离用户体验啊!
最终灵机一动,终于摈弃了腐朽的思维:为什么不作判断呢...
完美的版本终于出世:
jQuery(document).ready(function() {
jQuery("#list_content_list a.l1").css({cursor:"pointer"});
jQuery("#list_content_list a.l1").click(
function () {
jQuery(this).siblings().slideToggle('normal');
jQuery(this).parent().siblings().find('ul.side2').hide();
jQuery(this).parent().siblings().find('.pparrow').attr({src:"images/pparrowdown.jpg"});
if(jQuery(this).find('.pparrow').attr('src')=="images/pparrowdown.jpg"){
jQuery(this).find('.pparrow').attr({src:"images/pparrowup.jpg"});
}
else{
jQuery(this).find('.pparrow').attr({src:"images/pparrowdown.jpg"});
}
}
);
});
如果有三级菜单的话,比如三级菜单ul的class是side3:
jQuery(document).ready(function() { jQuery("#list_content_list a.l1").click(function() { jQuery(this).siblings().slideToggle('slow');
jQuery(this).siblings().find('ul.side3').hide();//如果有三级菜单的话
jQuery(this).parent().siblings().find('ul.side2,ul.side3').hide();
return false
}); });
如果要一打开的时候第一个就能展开,就加上两句初始化:
//附上特殊的class分别控制点击部分(本例中l1)和下拉部分(本例中side2)
jQuery("#list_content_list .firstblock").slideToggle('slow');
jQuery("#list_content_list .firstshow").find('.pparrow').attr({src:"images/pparrowup.jpg"});
谁知道交差的时候,项目管理说,你还是全部折叠起来吧。PSD只是给你看里面是什么样子。。。
不过,先做出来以备后患倒是不算白费功夫。
HTML样例:
<body>
<ul id="list_content_list"> <li class="L1"> <a href="1" class="l1"><img src="data:images/yamaha_0828_03.jpg" width="765" height="123" /></a> <ul class="side2" style="display:none"> <li class="L2"> <a href="products/list?category_id=2" class="l2">数字调音台</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/18" class=" l3">PM5D,PM5D-RH</a></li> <li class="L3"><a href="products/17" class=" l3">DSP5D</a></li> <li class="L3"><a href="products/197" class=" l3">CL 系列</a></li> <li class="L3"><a href="products/16" class=" l3">M7CL-48ES / 48 / 32</a></li> <li class="L3"><a href="products/15" class=" l3">LS9-32,LS9-16</a></li> <li class="L3"><a href="products/14" class=" l3">DM2000VCM</a></li> <li class="L3"><a href="products/7" class=" l3">DM1000VCM</a></li> <li class="L3"><a href="products/6" class=" l3">02R96VCM</a></li> <li class="L3"><a href="products/191" class=" l3">01V96i</a></li> <li class="L3"><a href="products/2" class=" l3">IMX644</a></li> <li class="L3"><a href="products/5" class=" l3">01V96VCM(停产)</a></li> <li class="L3"><a href="products/20" class="nobottomline l3">PM1DV2(停产)</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=3" class="l2">模拟调音台</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/194" class=" l3">MGP系列</a></li> <li class="L3"><a href="products/28" class=" l3">MG32/14FX,MG24/14FX</a></li> <li class="L3"><a href="products/27" class=" l3">MG206C,MG206C-USB</a></li> <li class="L3"><a href="products/26" class=" l3">MG166CX,MG166CX-USB</a></li> <li class="L3"><a href="products/25" class=" l3">MG166C,MG166C-USB</a></li> <li class="L3"><a href="products/24" class=" l3">MG124C,MG124CX</a></li> <li class="L3"><a href="products/23" class=" l3">MG102C</a></li> <li class="L3"><a href="products/170" class=" l3">MG82CX</a></li> <li class="L3"><a href="products/21" class=" l3">IM8-40, IM8-32, IM8-24 </a></li> <li class="L3"><a href="products/22" class="nobottomline l3">PM5000(停产)</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=4" class="l2">带功放调音台</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/30" class=" l3">EMX5016CF</a></li> <li class="L3"><a href="products/29" class="nobottomline l3">EMX5014C</a></li> </ul>
</li> </ul>
</li> <li class="L1"> <a href="6" class="l1"><img src="data:images/yamaha_0828_12.jpg" width="765" height="123" /></a> <ul class="side2" style="display:none"> <li class="L2"> <a href="products/list?category_id=7" class="l2">TXn系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/51" class=" l3">TX6n</a></li> <li class="L3"><a href="products/176" class=" l3">TX5n</a></li> <li class="L3"><a href="products/177" class="nobottomline l3">TX4n</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=8" class="l2">Tn系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/171" class=" l3">T5n</a></li> <li class="L3"><a href="products/50" class=" l3">T4n</a></li> <li class="L3"><a href="products/172" class="nobottomline l3">T3n</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=9" class="l2">PC-1N系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/49" class=" l3">PC9501N</a></li> <li class="L3"><a href="products/48" class=" l3">PC6501N</a></li> <li class="L3"><a href="products/47" class=" l3">PC4801N</a></li> <li class="L3"><a href="products/46" class=" l3">PC3301N</a></li> <li class="L3"><a href="products/45" class="nobottomline l3">PC2001N</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=10" class="l2">XP系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/44" class=" l3">XP7000</a></li> <li class="L3"><a href="products/43" class=" l3">XP5000</a></li> <li class="L3"><a href="products/40" class=" l3">XP3500</a></li> <li class="L3"><a href="products/42" class=" l3">XP2500</a></li> <li class="L3"><a href="products/41" class="nobottomline l3">XP1000</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=11" class="l2">P-S系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/39" class=" l3">P7000S</a></li> <li class="L3"><a href="products/38" class=" l3">P5000S</a></li> <li class="L3"><a href="products/37" class=" l3">P3500S</a></li> <li class="L3"><a href="products/36" class="nobottomline l3">P2500S</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=47" class="l2">XH系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/174" class="nobottomline l3">XH200</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=12" class="l2">多通道功放</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/204" class=" l3">XMV 系列</a></li> <li class="L3"><a href="products/35" class=" l3">XM4180</a></li> <li class="L3"><a href="products/34" class=" l3">XM4080 </a></li> <li class="L3"><a href="products/33" class="nobottomline l3">IPA8200</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=48" class="l2">功放控制设备</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/175" class=" l3">ACD1</a></li> <li class="L3"><a href="products/154" class="nobottomline l3">ACU16-C</a></li> </ul>
</li> </ul>
</li> <li class="L1"> <a href="14" class="l1"><img src="data:images/yamaha_0828_36.jpg" width="765" height="123" /></a> <ul class="side2" style=""> <li class="L2"> <a href="products/list?category_id=15" class="l2">工程系列音箱</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/110" class=" l3">IF2112(M)</a></li> <li class="L3"><a href="products/109" class=" l3">IF2208</a></li> <li class="L3"><a href="products/108" class=" l3">IS1215</a></li> <li class="L3"><a href="products/107" class=" l3">IF3115</a></li> <li class="L3"><a href="products/106" class=" l3">IH2000</a></li> <li class="L3"><a href="products/105" class=" l3">IL1115</a></li> <li class="L3"><a href="products/104" class=" l3">IS1118</a></li> <li class="L3"><a href="products/103" class=" l3">IS1218</a></li> <li class="L3"><a href="products/102" class=" l3">IF2108,IF2108W</a></li> <li class="L3"><a href="products/100" class=" l3">IF2205,IF2205W</a></li> <li class="L3"><a href="products/98" class=" l3">IF2115(M)</a></li> <li class="L3"><a href="products/97" class=" l3">IF2112AS</a></li> <li class="L3"><a href="products/96" class="nobottomline l3">IF2115AS</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=16" class="l2">Club V音箱 C系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/95" class=" l3">C215V</a></li> <li class="L3"><a href="products/94" class=" l3">CM15V</a></li> <li class="L3"><a href="products/93" class=" l3">CW218V</a></li> <li class="L3"><a href="products/92" class=" l3">C115VA</a></li> <li class="L3"><a href="products/91" class=" l3">C112VA</a></li> <li class="L3"><a href="products/90" class=" l3">CW118V</a></li> <li class="L3"><a href="products/89" class=" l3">CW115V</a></li> <li class="L3"><a href="products/88" class=" l3">CM12V</a></li> <li class="L3"><a href="products/87" class=" l3">CM10V</a></li> <li class="L3"><a href="products/86" class=" l3">C115V</a></li> <li class="L3"><a href="products/85" class="nobottomline l3">C112V</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=17" class="l2">Club V音箱 S系列</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/84" class=" l3">S215V</a></li> <li class="L3"><a href="products/83" class=" l3">S115V</a></li> <li class="L3"><a href="products/82" class=" l3">S112V</a></li> <li class="L3"><a href="products/81" class=" l3">SM15V</a></li> <li class="L3"><a href="products/80" class=" l3">SM12V</a></li> <li class="L3"><a href="products/79" class=" l3">SM10V</a></li> <li class="L3"><a href="products/78" class=" l3">SW218V</a></li> <li class="L3"><a href="products/77" class=" l3">SW118V</a></li> <li class="L3"><a href="products/76" class="nobottomline l3">SW115V</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=18" class="l2">A系列音箱</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/75" class=" l3">A10</a></li> <li class="L3"><a href="products/74" class=" l3">A12</a></li> <li class="L3"><a href="products/73" class=" l3">A15</a></li> <li class="L3"><a href="products/72" class=" l3">A12M</a></li> <li class="L3"><a href="products/71" class="nobottomline l3">A15W</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=19" class="l2">R系列音箱</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/70" class=" l3">R215</a></li> <li class="L3"><a href="products/69" class=" l3">R115</a></li> <li class="L3"><a href="products/68" class=" l3">R112</a></li> <li class="L3"><a href="products/67" class=" l3">R15MC</a></li> <li class="L3"><a href="products/66" class=" l3">R12M</a></li> <li class="L3"><a href="products/65" class="nobottomline l3">R118W</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=21" class="l2">DSR系列有源音箱</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/57" class=" l3">DSR112</a></li> <li class="L3"><a href="products/56" class=" l3">DSR115</a></li> <li class="L3"><a href="products/55" class=" l3">DSR215</a></li> <li class="L3"><a href="products/54" class="nobottomline l3">DSR118W</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=53" class="l2">DXR/DXS系列有源音箱</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/193" class=" l3">DXR系列</a></li> <li class="L3"><a href="products/192" class="nobottomline l3">DXS系列</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=49" class="l2">MSR系列有源音箱</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/178" class=" l3">MSR400</a></li> <li class="L3"><a href="products/179" class=" l3">MSR250</a></li> <li class="L3"><a href="products/181" class="nobottomline l3">MSR800W</a></li> </ul>
</li> <li class="L2"> <a href="products/list?category_id=20" class="l2">有源监听音箱</a> <ul class="side3" style="display:none"> <li class="L3"><a href="products/62" class=" l3">MSP7 STUDIO</a></li> <li class="L3"><a href="products/63" class=" l3">MSP5 STUDIO</a></li> <li class="L3"><a href="products/64" class=" l3">MSP3</a></li> <li class="L3"><a href="products/61" class=" l3">SW10 STUDIO</a></li> <li class="L3"><a href="products/208" class=" l3">HS8</a></li> <li class="L3"><a href="products/207" class=" l3">HS7</a></li> <li class="L3"><a href="products/206" class=" l3">HS5</a></li> <li class="L3"><a href="products/209" class=" l3">HS8S</a></li> <li class="L3"><a href="products/58" class=" l3">HS80M</a></li> <li class="L3"><a href="products/59" class=" l3">HS50M</a></li> <li class="L3"><a href="products/60" class="nobottomline l3">HS10W</a></li> </ul>
</li> <li class="L2"> <span class="L2on">商用音箱系列</span> <ul class="side3" style=""> <li class="L3"><a href="products/202" class=" l3">VXC 系列(ART COLLECTION)</a></li> <li class="L3"><a href="products/201" class=" l3">VXS 系列(ART COLLECTION)</a></li> <li class="L3"><a href="products/168" class=" l3">VS6,VS6W(ART COLLECTION)</a></li> <li class="L3"><a href="products/169" class=" l3">VS4,VS4W(ART COLLECTION)</a></li> <li class="L3"><a href="products/53" class=" l3">NS-AW992</a></li> <li class="L3"><a href="products/52" class=" l3">S5</a></li> <li class="L3"><a href="products/182" class=" l3">S55</a></li> <li class="L3"><a href="products/183" class="nobottomline l3">S15</a></li> </ul>
</li> </ul>
</li> </ul>
</body>
jQuery折叠风琴的更多相关文章
- [jquery]折叠指定条件的表格
最近在做财务报表时候,一些表格要做特定折叠效果 这里通过2个自定义属性来对表格之间的属性作关联 date-head和date-num,输出表格时候,可以按照这2个自定义属性给某些带父子层级关系的内容指 ...
- 【转】Jquery折叠效果
转自:http://www.cnblogs.com/clc2008/archive/2011/10/25/2223254.html <!DOCTYPE html PUBLIC "-// ...
- jQuery --- 第四期 (jQuery动效)
学习笔记 1.jQuery动画的淡入淡出 <!doctype html> <html> <head> <meta charset="utf-8&qu ...
- YII插件
dropDownList: Yii中可以采用CHtml类来实现,也可以用CActiveForm来实现.一.用CHtml来实现.VIEW中实现: <?php echo CHtml::dropDow ...
- jQuery&HTML&CSS3实现垂直手风琴折叠菜单方法讲解
在网页制作中我们常常需要折叠式的菜单,在折叠菜单中,手风琴特效的菜单是非常受欢迎,下面就讲解使用jQuery+HTML+CSS3实现垂直手风琴折叠菜单的方法. jQuery实现垂直手风琴折叠菜单示例代 ...
- jQuery网站顶部定时折叠广告
效果体验:http://hovertree.com/texiao/jquery/4.htm HTML文件代码: <!DOCTYPE html> <html xmlns="h ...
- jQuery treetable【表格多重折叠树功能及拖放表格子元素重新排列】
今天有个表格需求做到多重折叠子元素功能,仔细想了下实现原理, 1.在html中,把父子节点的关系写在自定义属性,但对于节点是否有孩子(hasChild),是否是最后一个节点(isLastOne),是否 ...
- jQuery文本段落展开和折叠效果
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/h ...
- jQuery实现折叠下拉效果
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
随机推荐
- configure JDBCRealm JAAS for mysql and tomcat 7 with form based authentication--reference
Hello all, In this tutorial we are going to configure JDBCRealm JAAS for tomcat 7 and mysql database ...
- 最近的两个小项目,2:Python webapp的docker镜像
时间过得真快,一眨眼一个多月没更新了,但这一个月我可没偷懒啊,真的是忙.粘上两篇ReadMe勉强凑合一下,保持博客更新是好习惯. 基于Flask框架,uwsgi起服务,supervisor做管理,应该 ...
- windows 环境下mysql 如何修改root密码
windows 环境下mysql 如何修改root密码 以windows为例: 无法开启服务,将mysql更目录下的data文件夹清空,然后调用 mysqld --initialize 开启mysql ...
- 省市联级菜单--js+html
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- 设置ORACLE环境变量
sqlplus 执行不了可能原因是未设置环境变量,设置方法: export ORACLE_HOME=/usr/local/instantclient_11_2
- NetAdvantage webdatagrid 控件的一些属性
属性: 1 behaviors 行为下的属性集合 Row Selectors 主要用于设置行选择样式与形为的集合 Enable 属性表示是否启用 Row Selectors下的属性设置 RowNumB ...
- PAT_2-08. 用扑克牌计算24点
一副扑克牌的每张牌表示一个数(J.Q.K分别表示11.12.13,两个司令都表示6).任取4张牌,即得到4个1~13的数,请添加运算符 (规定为加+ 减- 乘* 除/ 四种)使之成为一个运算式.每个数 ...
- hibernate4.3.8整合struts2过程中遇到的问题
1.遇到的异常: Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to ...
- 类和ID选择器的区别
学习了类选择器和ID选择器,我们会发现他们之间有很多的相似处,是不是两者可以通用呢?我们不要着急先来总结一下他们的相同点和不同点: 相同点:可以应用于任何元素不同点: 1.ID选择器只能在文档中使用一 ...
- iOS6以后的单个控制器横竖屏显示以及旋转屏控制技巧,附带iOS8以后显示电池状态栏
一.在应用中从竖屏模式强制转换为横屏模式 第一种方法:通过模态弹出视图的方式,使得特定ViewController坚持特定的interfaceOrientation(1)iOS6之后提供了这样一个方法 ...