Контекст: Я создаю кнопки для динамического прокрутки изображений на сообщении изображения в ленте новостей. (то есть на одной странице несколько сообщений с изображениями).Закрытие на нескольких экземплярах
Сообщение структура для мульти-изображения:
.images {
.leftArrow
.left
.center
.right
.rightArrow
}
Для одного изображения он имеет то же самое, но левый и правый нет.
Я создаю крышку для мыши, которая помещает курсор мыши влево, чтобы циклически перемещать изображения. Это должно работать только при наличии «левого» изображения.
// Gets first element with given class name
function getChildByClass(el, className) {
var notes = null;
var children = el.children;
for (var i = 0; i < children.length; i++) {
if (children[i].classList.contains(className)) {
notes = children[i];
break;
}
}
return notes;
}
// mouseover function
function spinLeft() {
var parents = $(".images");
for (var i = 0; i < parents.length; i++) {
var parent = parents[i];
var arrow = getChildByClass(parent, "leftArrow");
var index = getChildByClass(parent, "left");
if (index != null) {
arrow.addEventListener("mouseover", function() {
swapImages(this.parent, getChildByClass(this.parent, "left"));
});
}
}
}
spinLeft();
/* Post Usage: Spin algorithm for images */
function swapImages(parent, index) { // do swivel }
Моя проблема заключается в том, что когда я на «MouseOver» стрелка, он не имеет правильное значение, приходящее к swapImages. например, как я могу сделать это, чтобы получить правильный родитель стрелки? Другая реализация, которую я дал мне, - последняя стрелка, индексные переменные, прошедшие цикл. Поэтому мне нужно что-то, что использует «этот» элемент.
Открыт для любых предложений.
Я предлагаю вам проверить [ '.children()'] (http://api.jquery.com/children/), который позволит вам найти первый ребенок с конкретным классом без требуя другой функции. – Pointy
@Pointy Это дает мне ошибку: 'Uncaught TypeError: свойство 'children' объекта # не является функцией' –
collinglass
Это функция ** jQuery **: '$ (this) .children ('. Left') .eq (0) 'получает первый дочерний элемент с классом« слева », начиная с узла DOM, на который ссылается' this' – Pointy