0

このjsを使用してAPIを使用してサーバーのステータスを表示する特別なボタンを作成しました。私の問題は、ブラウザを初めて開いたときにこのボタンを自動的にロードできないことです。それ以外の場合は、実際にボタンをクリックする必要があります。実行を開始します。

function checkStatus(event)
{
    jQuery.getJSON("url",function(data){ 
        var button = document.getElementById("ServStat");
        if ( data.status == '1') { 
            jQuery('#ServStat').addClass('online').removeClass('offline');
            button.label = 'Online'; }
        else { 
            jQuery('#ServStat').addClass('offline').removeClass('online');
            button.label = 'Offline' 
        }
    });
}

どんなアイデアでも歓迎し、事前に感謝します。

4

3 に答える 3

3

document.ready関数にコードを追加するだけです。ドキュメントが完全に読み込まれると実行されます。

したがって、コードは次のようになります。

$(document).ready(function () {
    jQuery.getJSON("url", function (data) {
        var button = document.getElementById("ServStat");
        if (data.status == '1') {
            jQuery('#ServStat').addClass('online').removeClass('offline');
            button.label = 'Online';
        } else {
            jQuery('#ServStat').addClass('offline').removeClass('online');
            button.label = 'Offline'
        }
    });
});

詳細については、http: //api.jquery.com/ready/をご覧ください。

于 2012-04-19T00:53:52.790 に答える
2
$(function() {
  checkStatus();
});
于 2012-04-19T00:54:22.340 に答える
0

皆さんのおかげで、私の質問に答えるのに時間と労力を費やしてくれたことに本当に感謝しています。サイトに「新しい」と言って、この第一印象の後、長期的にここにいることを教えてください:)。

この問題について、あなたのほとんどは練習から学んでいることに気づきました、そして私は本当に深い理解を持っていません、私はできる限り注意を払い、とにかく、私が見つけたすべてを読むようにしていますこれを深く理解すると、私のxulファイルではスクリプトが次のように設定されていることに気付きました。

<script type="application/x-javascript" src="chrome://neverendlessbar/content/serverstatus.js" />
<script type="application/x-javascript" src="chrome://neverendlessbar/content/jquery-1.7.2.js" />
<script type="text/javascript">
    $.noConflict();
</script>

正しい方法があったとき:

<script type="application/x-javascript" src="chrome://neverendlessbar/content/jquery-1.7.2.js" />
<script type="text/javascript">
    $.noConflict();
</script>
<script type="application/x-javascript" src="chrome://neverendlessbar/content/serverstatus.js" />

jQueryが適切にロードされませんでした。jQueryエラーを修正した後、単に「checkStatus();」を追加しました。これで私たちを持ち上げるコードの終わりまで:

function checkStatus(event)
{
    jQuery.getJSON("url",function(data){ 
    var button = document.getElementById("ServStat");
    if ( data.status == '1') { 
    jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');}
    else { 
    jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');}});
}
checkStatus();

最初の実行で働いた:D。

だから、もう一度みんなに感謝し、いつか恩返しできることを願っています:D。

epascarelloの返信を読んだ後、私は尋ねましたが、実際には「getElementById」は必要ありません。

最終コード

function checkStatus()
{
    jQuery.getJSON("url",function(data){ 
    if ( data.status == '1')     {jQuery('#ServStat').addClass('online').removeClass('offline').attr('label','Online');}
    else     {jQuery('#ServStat').addClass('offline').removeClass('online').attr('label','Offline');}});
}
checkStatus();
{
    setInterval(changeState, 300000)
}
于 2012-04-19T23:08:47.603 に答える