Witam mam problem z eksportowaną funkcją, która służy do znajdywania elementu w oknie. Eksportuje ją do pliku skills.js jednak zwracaisInViewport.js:2 Uncaught TypeError: elem.getBoundingClientRect is not a function
at isInViewport (isInViewport.js:2)
at window.addEventListener (skills.js:6) , dziwne jest to, że wykorzystałem już ją w jednym pliku i działało poprawnie. Dodam jeszcze, że przez import nie pobiera mi skillsDiv.
Skills.js
import {
isInViewport
} from './isInViewport.js';
const skillsDiv = document.querySelectorAll('.app-skills--div');
window.addEventListener('scroll', () => {
if (isInViewport(skillsDiv)) {
skillsDiv.forEach(() => {
skillsDiv.style.backgroundColor = "red";
})
}
});
isInViewport.js
export const isInViewport = (elem) => {
let bounding = elem.getBoundingClientRect();
return (
bounding.top >= 0 &&
bounding.left >= 0 &&
bounding.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
bounding.right <= (window.innerWidth || document.documentElement.clientWidth)
);
};
Jak linkuje skrypty
<script src="js/nav.js"></script>
<script src="js/about.js" type="module"></script>
<script src="js/skills.js" type="module"></script>