Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

scripts.js 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <script>
  2. var elements = document.querySelectorAll(".toggleshow"),
  3. hideClass = 'toggleshow-hide';
  4. for (var i = 0; i < elements.length; i++) {
  5. var arrow = elements[i].querySelector(".toggleshow-arrow");
  6. // Initial hide/show based on class
  7. // Update arrow as well
  8. if (containsClass(elements[i], 'toggleshow-hide')) {
  9. toggleDisplay(elements[i]);
  10. changeArrow(arrow, false);
  11. } else {
  12. changeArrow(arrow, true);
  13. }
  14. // Add click handler
  15. addClick(elements[i], toggleDisplay);
  16. }
  17. function containsClass(element, className) {
  18. var eleClassName = ' ' + elements[i].className + ' ';
  19. return eleClassName.indexOf(' ' + className + ' ') > -1;
  20. }
  21. function toggleDisplay(parentElement) {
  22. var body = parentElement.querySelector(".toggleshow-body"),
  23. arrow = parentElement.querySelector(".toggleshow-arrow");
  24. if (body.style.display == 'block' || body.style.display == '') {
  25. body.style.display = 'none';
  26. changeArrow(arrow, false);
  27. } else {
  28. body.style.display = 'block';
  29. changeArrow(arrow, true);
  30. }
  31. }
  32. function changeArrow(element, visible) {
  33. if (visible) {
  34. element.innerHTML = '&#9650';
  35. } else {
  36. element.innerHTML = '&#9660';
  37. }
  38. }
  39. function addClick(parentElement, func) {
  40. parentElement.querySelector(".toggleshow-title").addEventListener("click", function(e) {
  41. func(parentElement);
  42. e.preventDefault();
  43. return false;
  44. });
  45. }
  46. </script>