0
$("#keywordSearchSubmit").on("click", function()
{
    showOverlay();
    var searchString = $("#search-results-form-query").val();
    var manResult = $.ajax({
        url: "Order?Page=storeSearchKeyword",
        data: "searchString="+searchString,
        async: false
    }).responseText;
    $("#cart-product-list").empty();
    $("#cart-product-list").append(manResult);
    hideOverlay();
});

function showOverlay()
{
//alert('a');
 $("#overlay").css("display","block");
//document.getElementById("overlay").style.display = 'block';
}

function hideOverlay()
{
//alert('b');
$("#overlay").css({"display":"none"});
//document.getElementById("overlay").style.display = 'none';
}

ajax呼び出しの実行中にオーバーレイが表示されるように、上記のJavascriptを取得しました。以下は、オーバーレイの HTML です。

<div id=\"overlay\" style=\"display:none;\">
<div style=\"display:block; margin-left: auto; margin-right: auto; margin-top:15%\" class=\"bubblingG\">
<span id=\"bubblingG_1\"></span><span id=\"bubblingG_2\"></span><span id=\"bubblingG_3\">
</span></div></div>

上記のどの種類の JavaScript を使用しても、オーバーレイは表示されません。

document.getElement... $("#overlay")...

オーバーレイが表示されるのは、アラート ボックスを追加するときだけです。アラート ボックスで [OK] をクリックすると、オーバーレイが表示されます。

私はもう試した:

$("#overlay").trigger("create");

しかし、成功しません。上記のようなメソッドを呼び出すのではなく、jQuery の start と complete を使用できることはわかっていますが、オーバーレイが表示される前にアラートを使用した場合にのみ表示されます。

リクエストがサーバー側で処理されるのに約 5 秒かかるため、オーバーレイが確実に表示されます。

4

1 に答える 1