4

ページに 10 から 0 までカウントダウンする jquery タイマーがあります。5 秒で警告メッセージを表示し、0 秒で別のメッセージを表示します。

以下のコードを使用して、フォーム フィールドでカウント ダウンを実行し、アラートを表示しましたが、アラートが表示されるとカウントダウンが停止します。

$(function(){
    var count = 10;
    countdown = setInterval(function(){
        $("#Exam_Timer").val(count + " seconds remaining!");
        if (count == 5) {
            alert('Only 5 Seconds Left');
        }   
        if (count == 0) {
            alert('Times Up')
        }
    count--;
    }, 1000);
});

アラートがカウントダウンを止めないように、これを再構築する方法を誰かに教えてもらえますか?

アラートを別の関数に入れようとしましたが、それは役に立ちませんでした。私はフィドルを作成しました:

http://jsfiddle.net/CQu7T/

4

2 に答える 2

7

alert実行を停止するため、これを行うことはできませんscripts。ただし、これは jQuery UI ダイアログで実現できます。次のデモを確認してください

ワーキングデモ

于 2012-05-19T14:07:35.500 に答える
1

アラートは、表示されると本質的にデフォルトのブラウザー設定 (コントロールとスクリプト) を壊す奇妙なものです。

あなたができることは、警告メッセージをjquery htmlで別の要素に配置することです

$(function(){
    var count = 10;
    countdown = setInterval(function(){
        $("#Exam_Timer").val(count + " seconds remaining!");
        if (count == 5) {
            $("#message").html('Only 5 Seconds Left');
        }

        if (count == 0) {
           $("#message").html('Times Up')
        }
        count--;
    }, 1000);
});

このjsfiddleを参照してください。css を使用してこの要素のスタイルを作成し、モーダル ウィンドウのように見せることができます。

于 2012-05-19T14:08:50.517 に答える