2

jGrowlを使用して画面にメッセージを表示しています。見栄えがします。ただし、メッセージがフェードアウトした後も、jGrowl divはその下にある要素をカバーしているため、クリックできません。

私の場合、メッセージが画面の中央中央に表示されるようにスタイルを編集したため、これは特に顕著です。

div.jGrowl.center {
    height:             50%;
    top:                25%;
    width:              50%;
    left:               25%;
}

多くの人が使用しているjGrowlのようなプラグインにこの問題があるのは本当ですか?それとも、私が何か間違ったことをしているからでしょう。

Chromeの「要素の検査」で確認しました。確かに、これは私のページの他の要素をカバーしている要素です。

<div id="jGrowl" class="center jGrowl">
<div class="jGrowl-notification"></div>
</div>

更新-解決策は次のとおりです。

$("#jGrowl").show();
$.jGrowl("my message", {
    beforeClose: function(e,m) {
        $("#jGrowl").hide();
    }
});

精緻化-さまざまなことを試した結果、以下が最善の解決策であることがわかりました。ページが読み込まれるときに、これらのイベントのデフォルト設定を追加します。

$(function () {
    $.jGrowl.defaults.beforeOpen = function(e,m) { $("#jGrowl").show(); };
    $.jGrowl.defaults.close = function(e,m) { $("#jGrowl").hide(); };
}
4

2 に答える 2

0

私はjGrowlに精通していませんが、「close」イベントが発生していることを確認できますか?

jGrowlには、ウィンドウを右に「閉じる」機能があり、隅に「X」がありますか?それを実装して「x」をクリックすると、カバーされたアイテムをクリックできますか?

于 2011-05-03T16:30:56.593 に答える
0

私のブラウザであるChrome12.0.742.16でフェードアウトした後は、すべてをカバーするdivはありません。あなたが何か間違ったことをしている可能性がありますが、テストケースなしでは私は何を言うことができませんでした。

于 2011-05-03T16:31:09.577 に答える