Видимый селектор JQuery не возвращает правильный индекс - PullRequest
1 голос
/ 03 февраля 2012

у меня есть этот простой код http://jsfiddle.net/U4Fj9/ индекс видимого изображения всегда равен 3, что является последним изображением, тогда как видимое изображение является первым, я знаю, что это очень просто, но я не вижу ничего плохого в моемкод любая помощь?

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Попробуйте это:

$(document).ready(function() {
$(".show img").css("display","none");
$(".show img:first").css("display","block");
var curImg=$('.show img:visible');
var i= $("img").index(curImg);
$(".curindex").html(i);
});
1 голос
/ 03 февраля 2012

См. http://api.jquery.com/visible-selector/

Элементы с видимостью: скрытые или непрозрачные: 0 считаются видны, так как они все еще занимают место в макете. В течение анимации, которые скрывают элемент, элемент считается виден до конца анимации. Во время анимации, чтобы показать элемент, элемент считается видимым в начале анимация.

Этот метод, например как замена вашей оригинальной решает вашу проблему:

$(document).ready(function() {
   $(".show img").css("display","none");
   $(".show img:first").css("display","inline");
   var curImg = $(".show img").filter(":visible").index();
   $(".curindex").html(curImg );
});
...