jQuery проверить, является ли div первым дочерним элементом? - PullRequest
3 голосов
/ 16 декабря 2010

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

Я пытаюсь сделать так, чтобы предыдущая и следующая кнопки анимировались в зависимости от того, нахожусь ли я наконец серии изображений со следующим кодом:

var $current = jQuery("img .active");
var $next = $current.next();

if ($next != jQuery("img:first-child")
{
 // show next item and the previous button
 // seems to work?

} else if ($next == jQuery("img:last-child")
{
 // hide the next button since we're at the end
 // doesn't seem to work??
}

Ответы [ 2 ]

8 голосов
/ 16 декабря 2010

Вы хотите проверить индекс img:

var $current = jQuery("#img .active"),
    index = $current.index();

if (index === 0) {
    // This is the first
} else if (index === jQuery("#img").children().length - 1) {
    // This is the last
}
0 голосов
/ 16 декабря 2010

Если предположить, что при использовании * 1001 не будет большого снижения производительности, я бы сделал что-то вроде этого:

jQuery('#img').children().each(function(i,obj){
  // some code to show buttons
  if (i <= 0) { // hide prev }
  if (i >= $('#img').children().length - 1) { // hide next }
});

Затем скройте все $('#img').children(), кроме активного, или если хотите, чтобы оно функционировало.

...