websiteWhat is wrong with this code for Interactive Website: Flipboard Previous Slide 2


#1

What error have I made?

var main = function() {
$('.dropdown-toggle').click (function(){
    $('.dropdown-menu').toggle();
});
$('.arrow-next').click(function() {
    var currentSlide = $('.active-slide');
    var nextSlide = currentSlide.next();
    var currentDot = $('.active-dot');
    var nextDot = currentDot.next();
    if (nextSlide.length == 0);{
        nextSlide = $('.slide').first();
    }
    
    currentSlide.fadeOut(600).removeClass('active-slide');
    nextSlide.fadeIn(600).addClass('active-slide');
    currentDot.removeClass('active-dot');
    nextDot.addClass('active-dot');
    if (nextDot.length == 0);{
        nextDot=$('.dot').first();
    });
$('.arrow-prev').click(function(){
    var currentSlide = $('.active-slide');
    var prevSlide = currentSlide.prev();
     if(prevSlide.length == 0) {
   prevSlide = $('.slide').last();
});
}
currentSlide.fadeOut(600).removeClass('active-slide');
prevSlide.fadeIn(600).addClass('active-slide');
});
}
$(document).ready(main);

It comes up with this error code:
Oops, try again. Remember to fade out the current slide and remove the 'active-slide' class.
Thanks


#2

Hi Favershamgirl1978,

if (nextSlide.length == 0);{
  nextDot=$('.dot').first();
});

The correct syntax for an if statement looks like this:

                    // ↓ no semi-colon (`;`)
   if (/* condition */) {
     // ...
   }
// ↑ closing curly brace (`}`) at the end

The two comments show what's wrong there.

If you're still having trouble, please post a link to the exercise you're on as well as your updated code and the error message you're getting :slight_smile:


#3

@favershamgirl1978,

You will have to keep a strict order in your code.....

s t e p s - - f o r - - n e x t S l i d e
-1
-1a create a selection of nextSlide (2 steps, capture 'active-slide, capture next() slide )'
-1b create a selection of nextDot
-2 check if selection of nextSlide is EMPTY
-2a if EMPTY change nextSlide selection to first slide
-2b and change nextDot selection to first Dot
-3 swap -active-slide- and -active-dot- class from current to next
Step3 is done by

   currentSlide.fadeOut(600).removeClass('active-slide');
   nextSlide.fadeIn(600).addClass('active-slide');
   currentDot.removeClass('active-dot');
   nextDot.addClass('active-dot');

s t e p s - - f o r - - p r e v S l i d e
-1
-1a create a selection of prevSlide
-1b create a selection of prevDot
-2 check if selection of prevSlide is EMPTY
-2a if EMPTY change prevSlide selection to last slide
-2b and change prevDot selection to last Dot
-3 swap -active-slide- and -active-dot- class from current to prev
Step3 is done by

    currentSlide.fadeOut(600).removeClass('active-slide');
    prevSlide.fadeIn(600).addClass('active-slide');
    currentDot.removeClass('active-dot');
    prevDot.addClass('active-dot');

+++++++++++++++++++++++++++++++++++++
++ jquery length explained AND DOM pictures of flipboard
https://www.codecademy.com/forum_questions/5615308ab62548021c0000e4