, но поскольку вы неправильно указали имя класса, таких элементов будет ноль.
у меня есть HTML, как это:
<a href="#" class="movieImg"><div class="previewBulk"></div></a>
<a href="#" class="movieImg"><div class="previewBulk"></div></a>
и Javascript, как это:
var movie = document.getElementsByClassName("movieImg");
var preview = document.getElementsByClassName("preview");
Есть ли способaddEventListener
2 фильма тег и предварительный просмотрdiv
тег? Я пытаюсь за цикл, но когда я делаю что-то вроде:
for(var i = 0, j=movie.length; i<j; i++){
movie[i].style.left = 100;
preview[i].style.left = 100;
}
я получилUncaught TypeError: Cannot read property 'style' of undefined
.
После изменения предварительного просмотра на previewBulk, я все еще получаю ошибку, мой код на самом деле выглядит так
(function(){
var movie = document.getElementsByClassName("movieImg"),
preview = document.getElementsByClassName("previewBulk");
//result = [];
for(var i = 0, j=movie.length; i<j; i++){
movie[i].addEventListener("mouseover", function(){
preview[i].style.left = ((movie[i].offsetWidth-preview[i].offsetWidth)/2)+20;
preview[i].style.top = -(movie[i].offsetHeight+preview[i].offsetHeight);
preview[i].style.visibility = "visible";
});
movie[i].addEventListener("mouseout", function(){
preview[i].style.visibility = "hidden";
});
}
}());