Visualizzazione dei risultati da 1 a 1 su 1
  1. #1

    Carousel setInterval non funziona correttamente

    Buongiorno.
    Ho una slide composta da 5 div, con all'interno 5 tabelle con dati diversi.
    Ogni 30 secondi, dovrebbe cambiare pagina, e dopo due minuti e mezzo, aggiorna in automatico il tutto, ripartendo dalla prima slide.
    Questo è lo script:
    codice:
    <script>
            
            $(document).ready(function() {
                var $carousel = $('.carousel');
                var $items = $('.carousel-item');
                var $indicators = $('.indicator');
                var currentIndex = 0;
                var itemCount = $items.length;
                
                setInterval(function() {
                    $(".carousel-container").load(window.location.href + " .carousel-container", function() {});
                }, 150000);//2 minuti e mezzo
                
                // Function to update carousel position
                function updateCarousel() {
                    $carousel.css('transform', 'translateX(' + (-currentIndex * 100) + '%)');
                    $indicators.removeClass('active');
                    $indicators.eq(currentIndex).addClass('active');
                }
                
                // Next button click
                $('.next').click(function() {
                    currentIndex = (currentIndex + 1) % itemCount;
                    updateCarousel();
                });
                
                // Previous button click
                $('.prev').click(function() {
                    currentIndex = (currentIndex - 1 + itemCount) % itemCount;
                    updateCarousel();
                });
                
                // Indicator click
                $indicators.click(function() {
                    currentIndex = parseInt($(this).data('index'));
                    updateCarousel();
                });
                
                // Auto slide (every 30 seconds)
                var autoSlide = setInterval(function() {
                    currentIndex = (currentIndex + 1) % itemCount;
                    updateCarousel();
                }, 30000);
                
                // Pause auto slide on hover
                $('.carousel').hover(
                    function() {
                        clearInterval(autoSlide);
                    },
                    function() {
                        autoSlide = setInterval(function() {
                            currentIndex = (currentIndex + 1) % itemCount;
                            updateCarousel();
                        }, 30000);
                    }
                );
            });
    </script>
    A volte funziona bene, altre volte, magari la prima slide scorre dopo 30 secondi, la seconda dopo 6, ecc ecc.
    Alla fine del secondo giro, si pianta e non scorre più.
    Ho visto se con ispeziona del browser potesse restituirmi un o più errori, ma niente, nessun errore generato.
    Vedete un anomalia e mi aiutate per favore a risolverla?
    Vi ringrazio come sempre.
    Buona giornata.
    Ultima modifica di ANTAGONIA; 28-02-2025 a 12:26

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.