2017-01-23 30 views
1

JavaScriptを使用して自分のウェブページを自動更新するときに、2つのボタンでオートリフレッシュ機能をオン/オフにすることができます。ボタンは<label><input>タグを使用しています)。私はコードを書くために最善を尽くしましたが、正しく機能するようにこれら2つのコードをリンクする方法はまだ分かりません。Javascript:ON-OFFボタンでウェブページを繰り返し自動更新する

また、オートリフレッシュのボタンをオンにした場合、オートリフレッシュを1回だけ行うのではなく、最初のロード後にオートリフレッシュを継続しておきたいと思います。

コードを修正してもらえますか?ありがとうございました。

ONとOFFボタン(2つの個々のボタン)のためのコード:

<div class="page-header-actions" data-toggle="buttons" role="group"> 
    <label class="btn btn-outline btn-primary active"> 
    <input type="radio" name="options" autocomplete="off" value="autorefreshoff" checked /> 
    <i class="icon wb-check text-active" aria-hidden="true"></i> Auto Refresh OFF 
    </label> 
    <label onClick="startrefreshon" class="btn btn-outline btn-primary"> 
    <input type="radio" autocomplete="off" value="autorefreshon" /> 
    <i class="icon wb-check text-active" aria-hidden="true"></i> Auto Refresh ON 
    </label> 
</div> 

オートリフレッシュ機能のためのコード:ここで

<script type='text/javascript'> 
setTimeout(function(){ 
    window.location.reload(1); 
}, 5000); 
</script> 
+0

残念ながら、これを行うことはできません。リフレッシュを停止することはできますが、ページをリフレッシュせずに再度オンにすることはできません。 –

+0

@ FrederickM.Rogersああ、ページを読み込んだ後に自動リフレッシュをデフォルトで有効にしたい場合は、自動リフレッシュオフボタンをクリックしてリフレッシュ機能をオフにできますか?出来ますか? – Dennis

+0

@ FrederickM.Rogersもっと説明しましょう。私はページをロードすると(つまり1分ごとにページを繰り返し自動更新する)、自動リフレッシュ機能をデフォルトで有効にしたいと思っています。ページは自動的にリフレッシュされません)。それは可能ですか?コードをどのように書くべきですか? – Dennis

答えて

2

は、あなたがする必要があるいくつかのことです。

  1. input type="radio"は、どちらも同じnameである必要があります。
  2. 「自動リフレッシュオン」ボタンにはIDを指定すると、JavaScriptコード(たとえばauto-refresh-checkbox)で簡単に参照できるようになります。
  3. チェックボックスであるかどうかをチェックリロード機能を書くchecked

コード:

function reloadPage(){ 
    var refreshEnabled = document.getElementById('auto-refresh-checkbox'); 
    if(refreshEnabled.checked) { 
    window.location.reload(1); 
    } 
} 
  • setInterval
  • を介してこの機能setInterval(reloadPage, 5000);


    PS:チェックされた "自動リフレッシュ"ラジオは、ページのリロード時にその値を失うため、localStorageなどを使用して値を保存する必要があります。

    +0

    素晴らしい!あなたのコードは正常に動作します。ページを読み込んだら(つまり、1分ごとにページを繰り返し自動更新する)、自動リフレッシュ機能をデフォルトで有効にしたい場合は、[自動オフ]ボタンをクリックしてオートリフレッシュ機能をオフにすることができます(つまり、ページは自動的にリフレッシュされません)。それは可能ですか?コードをどのように書くべきですか? – Dennis

    +0

    デフォルトでONにするには、 'checked'属性をOFFラジオボタンからHTMLのONラジオボタンに移動します。 – vsr

    +0

    はい、うまくいきます!:)それがロードされたら今それは爽やかに保つことができます。では、オフボタンをクリックしてページの自動更新を停止するにはどうすればよいですか? – Dennis

    関連する問題