1/* 2 * jQuery Accordion plugin 3 */ 4;(function($) { 5 $.fn.slideAccordion = function(opt){ 6 // default options 7 var options = $.extend({ 8 addClassBeforeAnimation: false, 9 allowClickWhenExpanded: false, 10 activeClass:'active', 11 opener:'.opener', 12 slider:'.slide', 13 animSpeed: 300, 14 collapsible: true, 15 closeInactive: false, 16 event:'click' 17 },opt); 18 19 return this.each(function(){ 20 // options 21 var accordion = $(this); 22 var items = accordion.find(':has('+options.slider+')'); 23 24 items.each(function(){ 25 var item = $(this); 26 var opener = item.find(options.opener); 27 var slider = item.find(options.slider); 28 opener.bind(options.event, function(e){ 29 if(!slider.is(':animated')) { 30 if(item.hasClass(options.activeClass)) { 31 if(options.allowClickWhenExpanded) { 32 return; 33 } else if(options.collapsible) { 34 slider.slideUp(options.animSpeed, function(){ 35 hideSlide(slider); 36 item.removeClass(options.activeClass); 37 }); 38 } 39 } else { 40 // show active 41 var levelItems = item.siblings('.'+options.activeClass); 42 var sliderElements = levelItems.find(options.slider); 43 item.addClass(options.activeClass); 44 showSlide(slider).hide().slideDown(options.animSpeed); 45 46 // collapse others 47 if(options.closeInactive) { 48 sliderElements.slideUp(options.animSpeed, function(){ 49 levelItems.removeClass(options.activeClass); 50 hideSlide(sliderElements); 51 }); 52 } 53 } 54 } 55 e.preventDefault(); 56 }); 57 if(item.hasClass(options.activeClass)) showSlide(slider); else hideSlide(slider); 58 }); 59 }); 60 }; 61 62 // accordion slide visibility 63 var showSlide = function(slide) { 64 return slide.css({position:'', top: '', left: '', width: '' }); 65 }; 66 var hideSlide = function(slide) { 67 return slide.show().css({position:'absolute', top: -9999, left: -9999, width: slide.width() }); 68 }; 69})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.