如何重新启动停止的文本滚动

时间:2019-04-06 11:23:55

标签: javascript

我在横幅广告中滚动的div ID内有文本。文本在加载时开始滚动,当您单击文本时,我可以停止滚动。问题是我不知道如何通过再次单击文本来重新启动滚动。

我尝试了setInterval和if条件来检查文本是否暂停无济于事。我很困惑。

    function scrollIsi() {
      var isi = document.getElementById('isi')
      var paused = false
      var requestId
      var intervalId

      var lastScrollTop = 0
      isi.addEventListener('scroll', function () {
        var st = this.scrollTop
        if (st < lastScrollTop) {
          cancelAnimationFrame(requestId)
        }
        lastScrollTop = st;
      })

      function scroll(timeout) {
        setTimeout(function () {
          paused = false
          clearInterval(intervalId)
          intervalId = setInterval(function () {
            var pos = isi.scrollTop
            isi.scrollTop = pos + 1
            if (isi.scrollTop >= 1566) {
              clearInterval(intervalId)
              window.location = '#isi' //stopping scroller after initial run
            }
          }, 75)
        }, 75)
      }

      isi.addEventListener('click', function toggleScroll() {
          if(!paused) {
            clearInterval(intervalId)
          }
        }
      )

      setTimeout(function () {
        scroll()
      }, -1000)

      window.scrollTo(0, document.querySelector("#container").scrollHeight);
    }

文本在加载时开始滚动,单击文本时可以暂停滚动。当我再次单击文本时,我试图重新启动滚动。

0 个答案:

没有答案