2017-09-05 2 views
0

私は以前のjsコードを拡張しようとしていますが、皆さんは過去に私を助けてくれました。このコードは、自動車のスライドショーとWebページ上の価格設定を作成し、mysql dbからデータを引き出します。私はそれが1分後に新しいページにリダイレクトされるところで働いていましたが、今度は再生の総数がスライドの数と等しいときにリダイレクトが起きるようにしたいです* 2。jsのCSSクラスを使用して特定の数のクリック後にリダイレクトする

何かのような...(nextpage.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() } 
     } 

    }); 

イム素晴らしいこと...ここ

は(jscript.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"; 
     } 

     }); 

ご協力いただければ幸いです。
ありがとうございました!

答えて

1

をたてテスト:

$(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をクリックした場合。

+0

ご回答いただきありがとうございますが、このコードは動作しませんでした:/。コードを.jsファイルとして保存された新しいページに置き、jsファイルの.phpファイルの終了タグの直後にインクルードします。何か案は? – mrmills129

+0

「何でも」をクリックしたい回数だけ置き換え、「#thetrigger」をクリックした要素の実際のIDと置き換えると、このコードはcars.comにリダイレクトします。これは私が確信しています。 – deg

+0

さて、入力したばかりです。コード内の変数numberOfSlidesが実際にはスライドの数を含んでいると仮定します。それは? – deg

関連する問題