klmn.js 1005 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. 'use strict';
  2. document.addEventListener('DOMContentLoaded', function () {
  3. var $klmnColumns = Array.prototype.slice.call(document.querySelectorAll('.bd-klmn-columns'), 0);
  4. var $klmnGaps = Array.prototype.slice.call(document.querySelectorAll('.bd-klmn-gap'), 0);
  5. var $klmnValue = document.getElementById('klmnValue');
  6. $klmnGaps.forEach(function (el) {
  7. el.addEventListener('mouseenter', function () {
  8. var index = el.dataset.value;
  9. selectGap(index);
  10. });
  11. });
  12. function resetGaps() {
  13. $klmnGaps.forEach(function (el) {
  14. el.classList.remove('bd-is-selected');
  15. });
  16. }
  17. function setColumns(n) {
  18. $klmnColumns.forEach(function (el) {
  19. el.className = 'columns is-variable bd-klmn-columns is-' + n;
  20. });
  21. }
  22. function setValue(n) {
  23. var rem = n * 0.25 + 'rem';
  24. $klmnValue.innerHTML = rem;
  25. }
  26. function selectGap(n) {
  27. resetGaps();
  28. $klmnGaps[n].classList.add('bd-is-selected');
  29. setColumns(n);
  30. setValue(n);
  31. }
  32. selectGap(3);
  33. });