上下文:我正在創建鼠標懸停來動態滾動新聞Feed上圖像帖子上的圖像。 (即在一頁上有多個圖像文章)。多個實例上的閉包
用於多圖像後結構:
.images {
.leftArrow
.left
.center
.right
.rightArrow
}
對於單個圖像具有相同的,但左右不存在。
我正在創建一個鼠標懸停,將鼠標懸停放在leftArrow上以循環顯示圖像。這應該只在存在「左」圖像時才起作用。
// 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 }
我的問題是,當我做「鼠標懸停」的箭頭,它不具有正確的值傳遞給swapImages。即如何做到這一點,以便我得到正確的箭頭父母?另一個實現給了我最後一個箭頭,通過循環的索引變量。所以我需要一些使用「這個」元素的東西。
歡迎任何建議。
我建議你檢查出['。孩子()'](http://api.jquery.com/children/),這將讓你找到的第一個孩子與一個特定的類不需要另一個功能。 – Pointy
@Pointy這給了我一個錯誤:'未捕獲的類型錯誤:對象#的屬性'children'不是函數' –
collinglass
這是一個** jQuery **函數:'$(this).children('。left' ).eq(0)'從「this'引用的DOM節點開始,從類」left「獲取第一個子元素 – Pointy