0

jqueryを使用してクイック情報をポップアップする簡単なスクリプトを作成しています。ユーザーがビューをクリックすると、toggle() を使用して一部の情報が表示され、ユーザーが再度クリックすると非表示になります。そして、このスクリプトは 10 回ループします。

しかし、問題は、このポップアップを 1 回だけ表示し、残りは非表示にすることです。ユーザーがビュー 1 とビュー 2 をクリックすると、すべてのポップアップが同時に表示されます。

ここをクリックして私のjsFiddleを確認できます

<script>
    $(document).ready(function() {
        $("#view_1").click(function(e) {
            e.stopPropagation();
            $(".box_1").toggle();
        });
        $(document).click(function() {
            var $el = $(".box_1");
            if ($el.is(":visible")) {
                $el.fadeOut(200);
            }
        });
    });
</script>

*このスクリプトを 1 つの関数に結合する方法がわかりません

4

6 に答える 6

2

ここにあなたの作業デモがあります

 $("a").click(function() {
        $('.contact_box').hide();
        $(this).next('div').show();
 }); 
于 2013-02-13T06:56:08.320 に答える
0

対応するボックスを非表示にするために使用hide()します..

 $("#view_1").click(function(e) {
      e.stopPropagation();
     $(".box_2").hide();  <-----here
      $(".box_1").toggle();
  });

 $("#view_2").click(function(e) {
        e.stopPropagation();
        $(".box_1").hide();<-----here
        $(".box_2").toggle();
    });

ここでフィドル

于 2013-02-13T06:56:20.863 に答える
0

する必要があります:

$(".box_1").toggle();この隠れ家の前とこの隠れ家の$(".box_2").hide();$(".box_2").toggle();$(".box_1").hide();

これは機能します。

于 2013-02-13T06:57:13.550 に答える
0

こんにちは、以下のコードを使用してください。

<script>
    $(document).ready(function() {
        $("#view_1").click(function(e) {
            e.stopPropagation();
            $(".box_1").toggle();
    var $el = $(".box_2");
            if ($el.is(":visible")) {
                $el.fadeOut(200);
            }
        });
        $(document).click(function() {
            var $el = $(".box_1");
            if ($el.is(":visible")) {
                $el.fadeOut(200);
            }
        });
    });
</script>

これで問題が解決することを願っています

于 2013-02-13T06:58:54.740 に答える
0

Toggle には、使用できるコールバック関数もあります。

$(".box_1").toggle('slow', function() {
    // show hide code or fadeIn fadeOut or other animation
    $(".box_2").fadeOut('fast');
});
于 2013-02-13T07:00:22.953 に答える