• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

160
Views
el control deslizante muestra una condición adicional en jquery

Tengo un archivo html como este:

 <ul class="slider-section__toggle-ctas"> <li class="slider-section__toggle-cta active"><span>red</span></li> <li class="slider-section__toggle-cta"><span>green</span></li> <li class="slider-section__toggle-cta"><span>blue</span></li> </ul>

y js así:

 const imagesSlider = () => { let nextBtn = ""; if ($(".slider-section__toggle-cta").text().length !== 0) { nextBtn = $(".active").next(); } if ($(".slider-section__toggle-cta").text().length === 0){ nextBtn = $(".slider-section__toggle-cta:first"); } console.log($(".active").text().length) $('.active').removeClass('active'); nextBtn.addClass("active"); } setInterval(imagesSlider, 3000);

hay una condición adicional de acuerdo con ese console.log() que incluí en el código, y no sé cómo solucionarlo, así que básicamente cuando la longitud es 3 muestra el verde, cuando la longitud es 5 muestra azul y cuando la longitud es 4 no muestra nada (ese es el problema), quiero volver al primer li con el texto "rojo" aquí,

about 3 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El problema es que está comprobando el tamaño del texto .slider-section__toggle-cta que siempre no está vacío en la siguiente declaración if .

if ($(".slider-section__toggle-cta").text().length === 0)

Úselo de esta manera:

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <ul class="slider-section__toggle-ctas"> <li class="slider-section__toggle-cta active"><span>red</span></li> <li class="slider-section__toggle-cta"><span>green</span></li> <li class="slider-section__toggle-cta"><span>blue</span></li> </ul> <script type="text/javascript"> const imagesSlider = () => { let nextBtn = ""; if ($(".active").text().length !== 0) { nextBtn = $(".active").next(); } if ($(".active").next().text().length === 0) { nextBtn = $(".slider-section__toggle-cta:first"); } console.log($(".active").text().length) $('.active').removeClass('active'); nextBtn.addClass("active"); } setInterval(imagesSlider, 3000); </script>

Mira esta demostración

about 3 years ago · Juan Pablo Isaza Report

0

lo arreglé usando

 if ($(".active").next().text().length !== 0) { nextBtn = $(".active").next(); } if ($(".active").next().text().length === 0) { nextBtn = $(".slider-section__toggle-cta:first"); }
about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error