手风琴效果是项目中使用频率较高的一种效果,原来项目一直都在用easyui的,临近年末,试着自己写了一个
css样式
/* CSS Document */ body { margin: 0 auto; padding: 0 auto; font-size: 9pt; font-family: 微软雅黑, 宋体, Arial, Helvetica, Verdana, sans-serif; } .accordion { padding-left: 0px; } .accordion li { border-top: 1px solid #000; list-style-type: none; } .titlemenu { width: 100%; height: 30px; background-color: #F2F2F2; padding: 5px 0px; text-align: left; cursor: pointer; } .titlemenu img { position: relative; left: 20px; top: 5px; } .titlemenu span { display: inline-block; position: relative; left: 40px; } .submenu { text-align: left; width: 100%; padding-left: 0px; } .submenu li { list-style-type: none; width: 100%; } .submenu li img { position: relative; left: 20px; top: 5px; } .submenu li a { position: relative; left: 40px; top: 5px; text-decoration: none; } .submenu li span { display: inline-block; height: 30px; padding: 5px 0px; } .hover { background-color: #4A5B79; }
自定义js
(function ($) { piano = function () { _menu ='[{"title":"一级目录","img":"images/cog.png","submenu":[{"title":"二级目录","img":"images/monitor_window_3d.png"},{"title":"二级目录","img":"images/monitor_window_3d.png"},{"title":"二级目录","img":"images/monitor_window_3d.png"}]},{"title":"一级目录","img":"images/cog.png","submenu":[{"title":"二级目录","img":"images/monitor_window_3d.png"},{"title":"二级目录","img":"images/monitor_window_3d.png"},{"id":"4","title":"二级目录","img":"images/monitor_window_3d.png"}]}]'; return ep = { init: function (obj) { _menu = eval('(' + _menu + ')'); var li =""; $.each(_menu, function (index, element) { li += '<li><div class="titlemenu"><img src=' + element.img + ' width="16" height="16" alt=""/><span>" + element.title + '</span></div>'; if(element.submenu!=null) { li+='<ul class="submenu">'; $.each(element.submenu, function (ind, ele) { li += '<li><img src=' + ele.img + ' width="16" height="16" alt=""/><span><a href="#">' + ele.title + '</a></span></li>'; }); li+='</ul>'; } li+='</li>'; }); obj.append(li); } } } $.fn.accordion = function (options) { var pia = new piano(); pia.init($(this)); return this.each(function () { var accs = $(this).children('li'); accs.each(reset); accs.click(onClick); var menu_li = $(".submenu").children("li"); menu_li.each(function (index, element) { $(this).mousemove(function (e) { $(this).siblings().removeClass("hover"); $(this).find("a").css("color", "#fff"); $(this).siblings().find("a").css("color", "#000"); $(this).addClass("hover"); }); }); }); } function onClick() { $(this).siblings('li').find("ul").each(hide); $(this).find("ul").slideDown('normal'); return false; } function hide() { $(this).slideUp('normal'); } function reset() { $(this).find("ul").hide(); } })(jQuery);
html调用方式
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script src="jquery-1.8.0.min.js"></script> <link rel="stylesheet" type="text/css" href="style.css"> <script src="accordion.js"></script> <script type="text/javascript"> $(function(){ $("#accordion").accordion(); }); </script> </head> <body> <ul id="accordion" class="accordion" style="width:200px;height:500px;"> </ul> </body> </html>
显示效果
以上就是本文的全部内容了,希望大家能够喜欢
本文向大家介绍JS实现手风琴特效,包括了JS实现手风琴特效的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JS实现手风琴特效的具体代码,供大家参考,具体内容如下 效果图 JS代码 CSS代码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
我正在使用jQuery手风琴来隐藏一些数据。 accordion标题是一个带有一些标题的表格。有一个标题,我不希望你点击它,因为手风琴事件会触发。 所以 手风琴是可折叠的,如果您单击Test2(类nofunction),手风琴事件不应触发。但是如果您单击Test或其他表头,手风琴应该会触发事件。 我可以添加这个功能吗? 更新测试http://jsfiddle.net/e3Q8d/,包括jQuery
本文向大家介绍简单实现jQuery手风琴效果,包括了简单实现jQuery手风琴效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jQuery实现手风琴效果的具体代码,供大家参考,具体内容如下 js代码: css代码: html代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
手风琴效果其实就是通过JS改变元素的height,然后加上transition来让css动起来。 准备HTML结构 这里我们使用 dl , 因为 dt 刚好可以模拟标题, dd 模拟内容。 <div class="panel"> <dl> <dt>One Item</dt> <dd>One Item Content .</dd>
本文向大家介绍JavaScript实现手风琴效果,包括了JavaScript实现手风琴效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JavaScript实现手风琴效果的具体代码,供大家参考,具体内容如下 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
jQueryUI中的Accordion Widget是一个基于jQuery的可扩展和可折叠内容持有者,它被分成几个部分,可能看起来像标签。 jQueryUI提供了accordion()方法来实现这一点。 语法 (Syntax) accordion()方法可以使用两种形式 - $(selector,context).accordion(options)方法 $(selector, context).