Связать массив значений элемента getboundingclientrect с другим массивом элементов
Привет, ребята ! Я пытаюсь построить систему "легенда", в которой массив элементов span (легенды) будет получать те же значения css (left, top, width, height), что и медиаэлементы, также хранящиеся в массиве. Чтобы получить эти значения, я использую getBoundingClientRect, я могу получить значения media, но я не могу дать эти значения своим элементам span. Вот мой код :
Что я уже пробовал:
var allProjects = document.getElementsByClassName("project"); var projectsArray = [].slice.call(allProjects); projectsArray.forEach(function(project){ var medias = project.querySelectorAll("video, img"); var mediasArray = [].slice.call(medias); var legends = project.getElementsByClassName("item__legend"); var legendsArray = [].slice.call(legends); console.log(legendsArray); mediasArray.forEach(function(media){ function getBoundingClientRect(media) { const getObj = media.getBoundingClientRect(); return { top: getObj.top, right: getObj.right, bottom: getObj.bottom, left: getObj.left, width: getObj.width, height: getObj.height, x: getObj.x, y: getObj.y }; } var valuesArray = Object.values(getBoundingClientRect(media)); console.log(valuesArray); }); // Now I have to connect these arrays in order to set css style of "legends" elements, but I'm really stucked -_-' });
<section id="project-ea" class="project"> <span class="item__legend">EA13 - Version mobile</span> <span class="item__legend">EA13 - Version desktop</span> <span class="item__legend">EA13 - Texture</span> <span class="item__legend">EA12 - Texture</span> <span class="item__legend">EA12 - Version desktop</span> <div class="project__video"> <video width="100%" class="video-js" preload="auto" autoplay loop muted> <source src="ea-mobile.mp4" type="video/mp4"> </video> </div> <div class="project__video"> <video width="100%" class="video-js" preload="auto" autoplay loop muted> <source src="ea13.mp4" type="video/mp4"> </video> </div> <div class="project__photo"> <img src="ea-photo1.jpg" class="half-img-left" alt="Electro Alternativ Texture"/> <img src="ea-photo2.jpg" class="half-img-right" alt="Electro Alternativ Texture"/> </div> <div class="project__video"> <video id="test-position-2" width="100%" class="video-js" preload="auto" autoplay loop muted> <source src="electroalternativ.mp4" type="video/mp4"> </video> </div> </section> <section id="project-beaufils" class="project"> ... </section>