Skip to content

Instantly share code, notes, and snippets.

@justinpenner
Last active March 27, 2022 02:02
Show Gist options
  • Save justinpenner/98b4ac0d47f2c7279ebb65e454673a5d to your computer and use it in GitHub Desktop.
Save justinpenner/98b4ac0d47f2c7279ebb65e454673a5d to your computer and use it in GitHub Desktop.
// Find the wrapper and create some elements to put in it
const tt = document.querySelector('.tt_wrapper');
const sliders = {};
sliders.size = document.createElement('input');
const numboxes = {};
numboxes.size = document.createElement('input');
const samp = document.createElement('samp');
// Clear the contents of .tt_wrapper
tt.innerHTML = '';
// Add attributes to the slider input
sliders.size.type = 'range';
sliders.size.min = 16;
sliders.size.max = 256;
sliders.size.step = 1;
sliders.size.value = 32;
sliders.size.dataset.units = '{}px'; // dataset holds custom data-* attributes
sliders.size.dataset.prop = 'fontSize';
// Add attributes to the number input
numboxes.size.type = 'number';
numboxes.size.min = sliders.size.min;
numboxes.size.max = sliders.size.max;
numboxes.size.step = sliders.size.step;
numboxes.size.value = sliders.size.value;
numboxes.size.dataset.units = sliders.size.dataset.units;
numboxes.size.dataset.prop = sliders.size.dataset.prop;
// <samp> needs some attributes too
samp.innerText = 'The swift red fox leaps over the proud dachshund!';
samp.contentEditable = true;
// Attach our elements to the wrapper!
tt.appendChild(sliders.size);
tt.appendChild(numboxes.size);
tt.appendChild(samp);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment