아코디언 효과는 프로젝트에서 자주 사용되는 효과입니다. 이 기사의 예제 J에서는 간단한 아코디언 특수 효과 코드의 jquery 구현에 대해 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.
실행 중인 효과의 스크린샷은 다음과 같습니다.
구체적인 코드는 다음과 같습니다.
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>
이 기사가 jquery 프로그래밍을 배우고 아코디언 특수 효과를 더욱 능숙하게 익히는 데 도움이 되기를 바랍니다. 기사 아래에 링크된 관련 기사를 읽고 배우시기 바랍니다.