2017-03-22 18 views
-1

私は分ごとに2つの他のhtmlファイルを切り替えるシンプルなhtmlファイルを作成しようとしていますが、結果はありません。1分ごとに2つのhtmlファイルを切り替える

私の考えは、私はその後、私はこれらの2つのHTMLファイルをロードします「test.htmlという」と呼ばれる第三のHTMLファイルを作成し、2つのHTMLファイル名「test1.html」と「test2.html」を持って、

ですクリックやリフレッシュせずに毎分お互いに切り替えることができます。

私は、JSを使ってそれを行う関数を書くことを考えていますが、それを行う方法はわかりません。

例はありますか?

ありがとうございます。

ヒントやアイデアを返信いただきありがとうございます。この作業をもう少し進めていただきありがとうございます。ページを切り替えるためにこのスクリプトを作成しました。

私は「test1.html」で同じ機能を設定しなければならないことを意味、私は「test.htmlという」でこの機能を使用する場合は、ページを切り替えるときしかし、例えば、アドレスも変更
var location1 = "test1.html"; 
    var location2 = "test2.html"; 

    function changePage() { 

     var currentUrl = window.location.toString() 

     if (currentUrl.includes(location2)){ 
      window.location.href=location1 
      } 
     else if (currentUrl.includes(location1)){ 
      window.location.href=location2 
      } 
     else { 
      window.location.href=location2 
      }    
     }; 

    setInterval(changePage, 60000); 

、と ' test2.html 'のように変更することができます。

URLを常に 'test.html'にしておくことは可能ですが、ページのコンテンツは 'test1.html'と 'test2.html'の間で切り替わりますか?

ありがとうございます。

+1

これはすべて1ページで行うことができます.3つのセクションを作成し、最初のセクションをすべて非表示にしてから、[setTimeout()](https://www.w3schools)を使用して他のセクションを表示します。 com/jsref/met_win_settimeout.asp) – APAD1

+0

[ask]をお読みください。重要なフレーズ:「検索と研究」と「あなたがそれを自分で解決することを妨げた困難を説明する」 –

答えて

0

さまざまなアイデアを探索した後、私はこのようないくつかを持って、

<script type="text/javascript" >  

    var monitorPage1 = "test1.html"; 
    var monitorPage2 = "test2.html"; 
    var timeInterval = 1000*60*2; //every 2 mins 


    $.ajax({ 
     url: monitorPage1, 
     success: function(data) { 
     $('#monitorDiv').html(data); 
      } 
    }); 

    setTimeout( 
     function(){ 
      $.ajax({ 
       url: monitorPage2, 
       success: function(data) { 
        $('#monitorDiv').html(data); 
        } 
       }) 
      }, timeInterval); 

    function switchPages() { 

    setTimeout( 
      function(){ 
       $.ajax({ 
        url: monitorPage1, 
        success: function(data) { 
         $('#monitorDiv').html(data); 
         } 
        }) 
       }, 0); 

     setTimeout( 
      function(){ 
       $.ajax({ 
        url: monitorPage2, 
        success: function(data) { 
         $('#monitorDiv').html(data); 
         } 
        }) 
       }, timeInterval); 

      }; 

     setInterval(switchPages, timeInterval*2); 

は、これが最良のopitonないかもしれませんが、使用Ajaxでそれはhtmlファイルの内容を読み、各2分間前後に切り替えるには。

ありがとうございました。

0
<script> 
    setTimeout(function(){ 
     window.location='name.html'; 
    }, 5000); 
</script> 
+0

5秒後に "name.html"という名前のファイルをロードし、既存のファイルにロードします。 OPは、3番目のファイルから毎分2つの異なるファイルをロードするように求めています。 –

+0

@MikeMcCaughanそうです。ありがとうございました。この関数は前のページを置き換え、決して元のページに戻しません。チャラン、とにかくありがとう。 – HaipengSu

1

あなたはリロード、あるいは離れてあなたのtest.htmlというページから移動することなく、各ページのHTMLコンテンツをロードするためのAJAXを使用することができます。

これをチェックしてください。MDN Documentation for AJAX

1

これは、あなたがする必要があることです。1. AJAXリクエストを介して2つのファイルの内容を取得するか、同じページに含めるが、最初は非表示にする。 2.隠されたコンテンツをトグルするか、AJAX要求を行う毎分ごとに呼び出されるJavaScript関数を作成します。 3.このように再帰的に毎分ロジックをコール/実行できます - setTimeout(myToggleFunction、60000) 'myToggleFunction'はmyToggleFunctionを再帰的に呼び出す必要があることに注意してください。

関連する問題