2015-06-02 6 views
1

У меня есть этот сайт:Почему это работает только частично это условие?

http://www.moment-of-style.com/

На первой странице вы найдете большой ползунок изображения, имеющий первый и затем маленькие изображения.

Этот слайдер сделан мной с использованием JQuery и имеет следующее условие.

 if(jQuery("#slider #left-slide img").first()){ 
      jQuery('#left-slide').addClass('full-banner'); 
     } 

Если первый элемент, то изображение будет отлично ... Я желаю того же для этих двух элементов.

Я пробовал этот код.

if(jQuery("#slider #left-slide img").first() ||jQuery("#slider #left-slide img").nth-child(2)){ 
     jQuery('#left-slide').addClass('full-banner'); 
    } 

, но, к сожалению, он не работает.

Знаете ли вы, в чем проблема? Можете ли вы помочь мне исправить это?

Заранее благодарен!

РЕДАКТИРОВАТЬ:

jQuery(document).ready(function(){ 

jQuery('#slider #left-slide img').hide(); 
jQuery("#slider #left-slide img").first().show(); 

if (jQuery('#slider').hasClass('ru-slide')){ 
if(jQuery("#slider #left-slide img").first()){ 
    jQuery('#left-slide').addClass('full-banner'); 
} 
} 

var index = 0; 
var len = jQuery("#slider #left-slide img").length 
var count = len -1; 

function bannerRotator() { 
    jQuery('#slider #left-slide img').delay(4300).eq(index).fadeOut("slow",function() { 
     if (index === count){ 
      index = -1; 
     } 

     jQuery('#slider #left-slide img').eq(index + 1).fadeIn("slow",function() { 
      index++; 
      bannerRotator(); 
     }); 

     if (jQuery('#slider').hasClass('ru-slide')){ 
      if(index == -1){ 
       jQuery('#left-slide').addClass('full-banner'); 
      } else { 
       jQuery('#left-slide').removeClass('full-banner'); 
      } 
     } else {} 
    }); 
} 
bannerRotator(); 

});

+1

Вы должны проверить '.length' на результат этих селекторов. –

ответ

0

Ваша проверка п-й ребенок неправильно

if(jQuery("#slider #left-slide img").nth-child(2)){ 

возвращает неопределенное

:nth-child является селектором psudeo класса. поэтому мы проверяем, как показано ниже

if(jQuery("#slider #left-slide img").first().length > 0 || jQuery("#slider #left-slide img:nth-child(2)").length > 0){ 
     jQuery('#left-slide').addClass('full-banner'); 
} 

или проверить с eq()

if(jQuery("#slider #left-slide img").eq(0).length > 0 || jQuery("#slider #left-slide img").eq(1).length > 0){ 
     jQuery('#left-slide').addClass('full-banner'); 
} 
+0

К сожалению, событие для второго изображения - это не только первый триггер ... – Cristi

+0

Если вы хотите, я могу поместить весь код для этого скрипта и HTML – Cristi

+0

показать мне код, который я попробую или скрипку будет apprieaciated –

Смежные вопросы