Для постановки и проблемы img - PullRequest
2 голосов
/ 30 августа 2011

Я использую следующую логику в операторе for

Проблема, с которой я сталкиваюсь, заключается в том, что, когда вы наводите курсор на первое изображение, оно скрывает «все изображения».Я хочу попытаться сохранить [i] для каждого изображения, но, похоже, это не так?

function myHandler(elem, img) {
  var curImg = img;
  var curImgId = curImg.find('img');

  $(curImgId).live('click', function() {
          $(this).hide();
  });   

//Other stuff requiring preservation of [i]
}

Ответы [ 2 ]

2 голосов
/ 30 августа 2011

Когда вы наводите курсор на первое изображение, оно скрывается.Это нормально.

Однако ваша проблема в том, что второе изображение перемещается в пространство, ранее заполненное первым изображением, а второе изображение получает событие мыши, которое заставляет это изображение скрываться.Это происходит непрерывно, пока все остальные изображения не исчезнут.

Вы можете проверить это, наведя курсор мыши на второе изображение - все изображения справа исчезнут.

0 голосов
/ 30 августа 2011

РЕДАКТИРОВАТЬ: Я бы второй @Digital Planes ответить второе изображение приходит на место первого из-за того, что первое изображение скрыто и вызывает событие. Вот рабочий код: http://jsfiddle.net/njPdQ/8/

Изменение:

функция myHandler (elem, img) {

console.log(elem);

var curImg = img;
var curImgId = curImg.find('img');
console.log(img);
$(curImgId).live('mouseenter', function() {
    console.log("Event handler: Hiding " + elem);
   // $(this).hide();    
    $(this).css("visibility", "hidden"); //this will keep the images in place

});

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...