Saya memiliki situs demo 3 halaman sederhana yang ingin saya coba dan tampilkan dengan cara yang mirip dengan presentasi Microsoft Powerpoint.

Jadi ketika pengguna secara manual mengklik tautan "Mulai" di beranda, mereka pindah ke halaman 2 yang berisi nilai pada halaman "4" (detik) nilai ini dimasukkan ke dalam fungsi setInterval di halaman yang kemudian secara otomatis mengklik tombol Tautan "Berikutnya" pada halaman setelah 4 detik dan membawa pengguna ke halaman 3. Halaman 3 kemudian kembali ke beranda setelah "6" detik (karena nilai itu dimasukkan lagi ke dalam fungsi setInterval di dalam halaman)

Berikut adalah kode pengatur waktu setInterval:

setInterval(function () {
    document.querySelector(".o-controls".click();
}, 3000)

Berikut adalah kode untuk 3 halaman:

<!--Homepage-->
<html lang="en">

<head>
</head>

<body>
  <section id="start">
    <p>Click "Start" manually to start a Powerpoint style on pages 2 and 3</p>
    <a href="/page2.html">Start</a>
  </section>
</body>

</html>

<!--Page 2-->
<html lang="en">

<head>
</head>

<body>
  <section id="page2">
    <div class="wrapper">
      <p>Javascript function clicks "Next" link after value in seconds below:</p>
      <p id="secondsValue">4</p>
    </div>
    <a class="nextPage" href="/page3.html">Next</a>
  </section>
  <!-- Insert the #secondsValue into the setInterval function, rather than it's current static 4000 value-->
  setInterval(function () {
    document.querySelector("a.nextPage".click();
}, 4000)
</body>

</html>

<!--Page 3-->
<html lang="en">

<head>
</head>

<body>
  <section id="page2">
    <div class="wrapper">
      <p>Javascript function clicks "Next" link after value in seconds below. This then loops you back to the Homepage.</p>
      <p id="secondsValue">6</p>
    </div>
    <a class="nextPage" href="/homepage.html">Next</a>
  </section>
  <!-- Insert the #secondsValue into the setInterval function, rather than it's current static 6000 value-->
  setInterval(function () {
    document.querySelector("a.nextPage".click();
}, 6000)
</body>

</html>

Bagaimana saya bisa memasukkan nilai detik yang disimpan dalam elemen pada halaman ke dalam fungsi setInterval?

1
C Williamson 10 Maret 2019, 16:03

1 menjawab

Jawaban Terbaik

Gunakan querySelector dan .innerText untuk mendapatkan nilai, dan parseInt() untuk mengonversinya menjadi bilangan bulat dan mengalikannya setelah:

var seconds = parseInt(document.querySelector("#secondsValue").innerText)*1000;      
 setInterval(function () {
document.querySelector("a.nextPage").click();

}, seconds)
0
Nikola Kirincic 10 Maret 2019, 13:28