klmn.js 966 B

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