aui-collapse.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * aui-collapse.js
  3. * @author 流浪男
  4. * Licensed under the MIT license.
  5. * http://www.opensource.org/licenses/mit-license.php
  6. */
  7. (function( window, undefined ) {
  8. "use strict";
  9. var auiCollapse = function(params) {
  10. this.init(params);
  11. };
  12. auiCollapse.prototype = {
  13. init: function(params,callback){
  14. var collapseHeader = document.querySelectorAll(".aui-collapse-header");
  15. if(collapseHeader.length){
  16. for(var i=0;i<collapseHeader.length;i++){
  17. (function(e){
  18. collapseHeader[e].onclick = function(){
  19. if(collapseHeader[e].nextSibling.nextElementSibling.className.indexOf("aui-collapse-content") > -1){
  20. if(collapseHeader[e].nextSibling.nextElementSibling.className.indexOf("aui-show") > -1){
  21. collapseHeader[e].nextSibling.nextElementSibling.classList.remove("aui-show");
  22. collapseHeader[e].classList.remove("aui-active");
  23. }else{
  24. if(params.autoHide){
  25. if(document.querySelector(".aui-collapse-header.aui-active")){
  26. document.querySelector(".aui-collapse-header.aui-active").classList.remove("aui-active");
  27. }
  28. if(document.querySelector(".aui-collapse-content.aui-show")){
  29. document.querySelector(".aui-collapse-content.aui-show").classList.remove("aui-show");
  30. }
  31. }
  32. collapseHeader[e].nextSibling.nextElementSibling.classList.toggle("aui-show");
  33. collapseHeader[e].classList.toggle("aui-active");
  34. }
  35. }
  36. }
  37. })(i)
  38. }
  39. }
  40. }
  41. };
  42. window.auiCollapse = auiCollapse;
  43. })(window);