Individualize Page Exchange Time

Asked

Viewed 21 times

0

In this script below it makes an alternation between pages , it already works perfectly for me, more accurate that each page have different times from each other,

example:

  • page1.php stay showing for 20seconds

  • page2.php stay showing for 30seconds

As I know nothing about javascript wanted a help on how I can do this

<div id="latestData"></div>
<script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
$(function () {
var minutos = 1; //Um minuto
var urls = [

               "pagina1.php",
               "pagina2.php",
               "pagina3.php"

           ];

var i = 0; //Começa no item zero da array que no caso é o "tv1.php"
var total = urls.length; //Pega o total de itens

function getContadorMapa() {
    $.get(urls[i], function (result) {
        $('#latestData').html(result);
    }).always(function() {
        //Quando a requisição termina troca dispara always

        //Soma mais um a variável e assim passa para o proximo item do array
        i++;

        //Se i for maior que o tamanho do array então volta pra zero
        if (!(i < total)) {
             i = 0;
        }

        setTimeout(getContadorMapa, 60 * 300 * minutos);
    });
  }

  getContadorMapa();
  });
  </script>

1 answer

1


I changed the function by adding the var tempo, each position corresponds to the time position of the url, so you can modify it however you want.

$(function () {
        var urls = [
           "pagina1.php",
           "pagina2.php",
           "pagina3.php"
        ];

        var tempo = [
            0.1,
            0.5,
            0.3
        ];

        var i = 0;
        var total = urls.length;

        function getContadorMapa() {
            $.get(urls[i], function (result) {
                $('#latestData').html(result);
            }).always(function () {
                //Quando a requisição termina troca dispara always

                //Soma mais um a variável e assim passa para o proximo item do array
                setTimeout(getContadorMapa, 60 * 300 * tempo[i]);
                i++;
                //Se i for maior que o tamanho do array então volta pra zero
                if (!(i < total)) {
                    i = 0;
                }

            });
        }

        getContadorMapa();
    });

Browser other questions tagged

You are not signed in. Login or sign up in order to post.