2013-08-15 2 views
1

У меня есть это:конденсаторные мультипликатор, если заявления в JavaScript

if(currentSlide !== 3) { 
    $('#chapterBackground.intro').fadeOut(100); 
} 

if(currentSlide !== 4) { 
    $('#chapterBackground.intro').fadeOut(100); 
} 

... и хочу сказать, по существу, если currentSlide ни 3 ИЛИ 4, затем выполняют функцию FADEOUT.

+2

Чего вы хотите достичь? Как написано, затухание будет происходить на каждом слайде, потому что по крайней мере один из этих тестов всегда будет правдой. – Blazemonger

ответ

3
if((currentSlide !== 3) || (currentSlide !== 4)) { 
    $('#chapterBackground.intro').fadeOut(100); 
} 

Извинения, под редакцией.

+0

В качестве альтернативы, это буквально то же самое, что и '$ ('# chapterBackground.inro'). FadeOut (100);' без каких-либо 'if'. –

2

Вы можете использовать оператор OR в пределах одного if условия:

if(currentSlide !==3 || currentSlide !==4) { 
    $('#chapterBackground.intro').fadeOut(100); 
} 
1
if(currentSlide !== 3 || currentSlide !== 4) { 
    $('#chapterBackground.intro').fadeOut(100); 
} 
+0

Избегайте использования '==' и '! =', Когда это возможно (т. Е. Почти в 100% случаев). –

+1

Вы также можете упростить код, удалив внутреннюю скобку. – James

2

Здесь вы идете:

if(currentSlide !== 3 || currentSlide !== 4) { 
    $('#chapterBackground.intro').fadeOut(100); 
} 

The || означает "ИЛИ". Для "И" вы бы использовать оператор &&;)

0

Только один из многих вариантов:

currentSlide = 3; 

//The number would match the slide you want the transition to occur at 
//So at slide 3 I want the intro to fade out 
var slideIndexes = { 
     3 : function() { $('#chapterBackground.intro').fadeOut(100); }, 
     16 : function() { $('#chapterBackground.presentation').fadeOut(100); }, 
     20 : function() { $('#chapterBackground.credits').fadeOut(100); } 
}; 

if (slideIndexes[currentSlide]) slideIndexes[currentSlide](); 

И красивая jsfiddle, чтобы сопровождать этот код.

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