0

次の場合にすぐにトリガーされるスクリプトを作成しようとしています。

  • class="eventIndicator" の DIV 内で、スパンには「検証済み」クラス (現在は「未検証」) があります。

  • class="evenIndicator" を持つ DIV の親には、style="display: block;" があります。(現在、style="display: none;"

例として、コードの小さな抜粋を追加しました。

それは可能だと思いますか?Jquery を試してみましたが、成功しませんでした。ご協力いただきありがとうございます。

<div id="hidden3">
    <div id="asset_parameters">
        <div id="Rente_div" style="display: none;">
            <span>Rente:</span>
            <span><input name="Rente" id="Rente" onblur="asset_value(this.id)"></span>
            <div class="eventIndicator">
                <span class="unvalidated">Incomplete</span>
            </div>
        </div>
        <div id="Bouquet_div"  style="display: none;">
            <span>Bouquet:</span>
            <span><input name="Bouquet" id="Bouquet" onblur="asset_value(this.id)"></span>
            <div class="eventIndicator">
                <span class="unvalidated">Incomplete</span>
            </div>
        </div>
        <div id="Valeur_libre_div"  style="display: none;">
            <span>Valeur libre:</span>
            <span><input name="Valeur_libre" id="Valeur_libre" onblur="asset_value(this.id)"></span>
            <div class="eventIndicator">
                <span class="unvalidated">Incomplete</span>
            </div>
        </div>
    </div>
4

3 に答える 3

1

ポーリングすることはできますが、あまり効率的ではありません。代わりにコールバックを起動しますが、ポーリングのスニペットは次のとおりです。

(function poll () {
    var $div = $('.eventIndicator');
    if ($div.find('span.validated').length && $div.parent().is(':visible')) {
        // do something
    } else {
        setTimeout(poll, 500);
    }
}());
于 2013-09-20T23:18:45.267 に答える
0

show/の使用ごとに独自のイベントをトリガーしhide、表示される要素をカウントする必要があります。

if($('#Rente_div:visible, #Bouquet_div:visible, #Valeur_libre_div:visible').length === 3) alert('OK')

または、setIntervalこれを確認するために使用できます

// 編集: 申し訳ありません。この投稿は以前のバージョンの質問用に作成されたものですが、必要に応じてこの回答を調整できると思います

于 2013-09-20T23:16:40.593 に答える