Prev dot 2 it tells me : Oops, try again. Remember to add '.active-dot' to the previous dot


#1

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

      currentDot.removeClass( 'active-dot');
      nextDot.addClass('active-dot');
      });
      $('.arrow-prev').click(function () {
         var currentSlide = $('.active-slide');
         var prevSlide = currentSlide.prev();
         if (prevSlide === 0) { prevSlide = $('.slide').last();
         prevDot = $('.dot').last();}
         currentSlide.fadeOut(600).removeClass('active-slide');
         prevSlide.fadeIn(600).addClass('active-slide');

      var currentDot = $('.active-dot');
      var prevDot = $('.active-dot').prev();

      currentDot.removeClass('active-dot');
      prevDot.addClass('active-dot');

      })

};
$(document).ready(main);


#2

@tagsolver15272,

+++++ flipboard the next && prev steps
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


#3

sorry but could u explain more


#4

@tagsolver15272,
Where is your IF-statement for

      var currentDot = $('.active-dot');
      var prevDot = $('.active-dot').prev();

      currentDot.removeClass('active-dot');
      prevDot.addClass('active-dot');

#5

it's steel dosnt work


#6

I'm having the same issue -- isn't the if statement here?

if(prevSlide.length==0) {
prevSlide = $('.slide').last();
prevDot =$('.dot').last();
}

@tagsolver15272 has it as well.

Here's my code:

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();
    }

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

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

$('.arrow-prev').click(function() {
    var currentSlide = $('.active-slide');
    var prevSlide = currentSlide.prev();
    
    var currentDot=$('.active-dot');
    var prevDot= currentDot.prev();
    
    currentDot.removeClass('active-dot');
    prevDot.addClass('active-dot');
    
    
    if(prevSlide.length==0) {
        prevSlide = $('.slide').last();
        prevDot  =$('.dot').last();
    }
    
    currentSlide.fadeOut(600).removeClass('active-slide');
    prevSlide.fadeIn(600).addClass('active-slide');
});

};
$(document).ready(main);


#7

@tagsolver15272,@coresolver-2702

In your arrow-prev =click= Eventhandler
you should place

    currentDot.removeClass('active-dot');
    prevDot.addClass('active-dot');

AFTER the IF-statement check !!!!!!


#8

Got it. That wasn't clear in the instructions nor in the order of how things were shown, but logical.


#9

@coresolver02702
+++++ flipboard the next && prev steps
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


#10

thank now it did work