javascript - 在js中使用css类在一定次数的点击后重定向

标签 javascript jquery mysql

我正在尝试扩展你们过去帮助过我的以前的 js 代码。该代码在网页上创建汽车及其定价的幻灯片,并从 MySQL 数据库中提取数据。我让它在一分钟后重定向到新页面,但现在我希望当播放总数等于幻灯片数量 * 2 时发生重定向。我对 js 没有经验,任何帮助都会太棒了...

这是创建幻灯片的代码... (jscript.js)

    $(document).ready(function(){
      var currentPosition = 0;
      var slideWidth = 1280;
      var slides = $('.slide');
      var numberOfSlides = slides.length;
      // Remove scrollbar in JS
      $('#slidesContainer').css('overflow', 'hidden');
      // Wrap all .slides with #slideInner div
      slides
        .wrapAll('<div id="slideInner"></div>')
        // Float left to display horizontally, readjust .slides width
        .css({
          'float' : 'left',
          'width' : slideWidth
        });
      // Set #slideInner width equal to total width of all slides
      $('#slideInner').css('width', slideWidth * numberOfSlides);
      // Insert controls in the DOM
      $('#slideshow')
        .prepend('<span class="control" id="leftControl"></span>')
        .append('<span class="control" id="rightControl"></span>');
      // Hide left arrow control on first load
      manageControls(currentPosition);
      // Create event listeners for .controls clicks
      $('.control')
        .bind('click', function(){
        // Determine new position
        currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
        // Hide / show controls
        manageControls(currentPosition);
        // Move slideInner using margin-left
        $('#slideInner').animate({
        'marginLeft' : slideWidth*(-currentPosition)
            }, function() {
            // if last slide then move the pointer to 1st slide
            if(currentPosition == numberOfSlides-1) {
                currentPosition = -1;
            }
        });
      });

      window.setInterval(function() {
        $('#rightControl.control').click();
        }, 3000);

      // manageControls: Hides and Shows controls depending on currentPosition
      function manageControls(position){
        // Hide left arrow if position is first slide
        if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
        // Hide right arrow if position is last slide
        if(position==numberOfSlides-1){ $('#rightControl').hide() } else{$('#rightControl').show() }
      } 

    });

我认为重定向的代码类似于...(nextpage.js)

    $(document).ready(function(){
      var currentPosition = 0;
      var slides = $('.slide');
      var numberOfSlides = slides.length;
      var clicks = $('.control');
      var slidesPlayed = clicks.length;

      if(numberOfSlides == (slidesPlayed * 2)){
        window.location.href = "https://www.cars.com";
        }

      });

任何帮助将不胜感激。
谢谢!

最佳答案

刚刚测试:

$(document).ready(function(){
      var slidesPlayed = 0;
      var whatever = 5;  //that would be the total slides * 2 if I understand what you want, but let's say it's 5 for this example
      $('#thetrigger').on("click", function() {
          slidesPlayed++;

          console.log(slidesPlayed);

          if(slidesPlayed >= whatever){
              window.location.href = "https://www.cars.com";
          }
      });
});

如果您无论何时点击#trigger,您都会被重定向。

关于javascript - 在js中使用css类在一定次数的点击后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46062719/

相关文章:

jquery - 使用jquery clone创建div元素,如何设置ID标签?

PHP、MySQL - 如何参数化时间戳比较

mysql - CDbExpression ('NOW()' ) 返回空

javascript - 从 iframe 将 div 弹出窗口居中

javascript - 当开发人员工具打开 IE11 时,网站表现不同

javascript - 滚动条在 iOS 应用程序上不可见,它在开始滚动时出现。有什么解决办法吗?

PHP - $.POST 通过两个文件两次

php - 如何使用特定索引值对数组进行排序?

javascript - 一次打开 1 个内容

javascript - 将鼠标悬停在 div 上时无法调整输入