0

地図を持っています。クリックして表示するたびに、ディストリビューターが表示されます。ただし、データベースからの結果がない場合は、前の結果がページに残ります。その特定の状態で結果が得られない場合は、コンテナーを空にします。どうすればいいですか?

$(document).ready(function() {
    $("#SC").click(function() {
        if ($("div.SC_info").is(":hidden")) {
            $("#repinfo_container div.info_cont").removeClass("active");
            $("#repinfo_container div.info_cont").addClass("inactive");
            $("div.SC_info").slideDown("fast");
            $("div.SC_info").removeClass("inactive");
            $("div.SC_info").addClass("active");
            $("div.inactive").slideUp("fast");
        } else {}
    });
});​

詳細この写真を見てください。http://i.imgur.com/vozKp.pngこれはインタラクティブな配布マップです。問題は、たとえば、CA(カリフォルニア)の結果(ディストリビューター)があるデータベースにあります。クリックするとプルアップして下部に表示されます。ただし、結果がないためLA(state)をクリックすると、前にクリックした状態の結果が表示されます。この状態の結果がない場合は、前の結果を表示する代わりに、そのコンテナーを表示する必要があります。私は今それがもっと理にかなっていることを願っています。

これがページ全体のソースコードです

pastbin.com/mxyDpZCx

4

2 に答える 2

1

私が望むのは、その特定の状態の結果がない場合、コンテナを空にしたいということです。

$("#repinfo_container").empty();
于 2012-06-04T23:05:06.390 に答える
1

できるよ:

$(selector).html('');

先端:

次のように、パフォーマンスを向上させるために選択内容をキャッシュする必要があります。

$("div.SC_info").slideDown("fast");
$("div.SC_info").removeClass("inactive");       
$("div.SC_info").addClass("active");

あなたはこれを持つことができます:

var selection = $("div.SC_info");
selection.slideDown("fast");
selection.removeClass("inactive");       
selection.addClass("active");

こうすることで、要素を 3 回選択する代わりに、要素を 1 回選択して選択操作を行うことができます。

于 2012-06-04T23:05:51.897 に答える