Spaces:
Runtime error
Runtime error
| class BeforeAfter { | |
| constructor(enteryObject) { | |
| const beforeAfterContainer = document.querySelector(enteryObject.id); | |
| const before = beforeAfterContainer.querySelector('.bal-before'); | |
| const beforeText = beforeAfterContainer.querySelector('.bal-beforePosition'); | |
| const afterText = beforeAfterContainer.querySelector('.bal-afterPosition'); | |
| const handle = beforeAfterContainer.querySelector('.bal-handle'); | |
| var widthChange = 0; | |
| beforeAfterContainer.querySelector('.bal-before-inset').setAttribute("style", "width: " + beforeAfterContainer.offsetWidth + "px;") | |
| window.onresize = function () { | |
| beforeAfterContainer.querySelector('.bal-before-inset').setAttribute("style", "width: " + beforeAfterContainer.offsetWidth + "px;") | |
| } | |
| before.setAttribute('style', "width: 50%;"); | |
| handle.setAttribute('style', "left: 50%;"); | |
| //touch screen event listener | |
| beforeAfterContainer.addEventListener("touchstart", (e) => { | |
| beforeAfterContainer.addEventListener("touchmove", (e2) => { | |
| let containerWidth = beforeAfterContainer.offsetWidth; | |
| let currentPoint = e2.changedTouches[0].clientX; | |
| let startOfDiv = beforeAfterContainer.offsetLeft; | |
| let modifiedCurrentPoint = currentPoint - startOfDiv; | |
| if (modifiedCurrentPoint > 10 && modifiedCurrentPoint < beforeAfterContainer.offsetWidth - 10) { | |
| let newWidth = modifiedCurrentPoint * 100 / containerWidth; | |
| before.setAttribute('style', "width:" + newWidth + "%;"); | |
| afterText.setAttribute('style', "z-index: 1;"); | |
| handle.setAttribute('style', "left:" + newWidth + "%;"); | |
| } | |
| }); | |
| }); | |
| //mouse move event listener | |
| beforeAfterContainer.addEventListener('mousemove', (e) => { | |
| let containerWidth = beforeAfterContainer.offsetWidth; | |
| widthChange = e.offsetX; | |
| let newWidth = widthChange * 100 / containerWidth; | |
| if (e.offsetX > 10 && e.offsetX < beforeAfterContainer.offsetWidth - 10) { | |
| before.setAttribute('style', "width:" + newWidth + "%;"); | |
| afterText.setAttribute('style', "z-index:" + "1;"); | |
| handle.setAttribute('style', "left:" + newWidth + "%;"); | |
| } | |
| }) | |
| } | |
| } |