1

ボタンがクリックされたときにdivを別のdivの中に隠すためにjqueryにこのコードがあります.FirefoxとChromeでは機能しますが、IE9では機能しません:

$(document).ready(function () {
        $("#esconde, #Div1, #Div2").hide();
        $("#act2").click(function () {
            $("#esconde").fadeIn(1000).show().append($("#lista1"));
            $("#listadefault").remove().fadeOut(500);

            $("#act3").click(function () {
                $("#listadefault").remove();
                $("#Div1").fadeIn(1000).show().append($("#lista1"));

                $("#act4").click(function () {
                    $("#Div2").fadeIn(1000).show().append($("#lista1"));
                    $("#listadefault").remove().fadeOut(500);
                });

            });
        });

これはhtmlです:

<div id="Div1" class="span12">
    <table class="well table table-condensed">
        <label>tabela 3</label>
                <thead>
                    <tr>
                        <th>Opção 1</th>
                        <th>Opção 2</th>
                        <th>Opção 3</th>
                    </tr>    

                </thead>
                <tbody>
                    <tr><td>Dado 1</td><td>Dado 2</td><td>
                        <div class="btn-group" data-toggle="buttons-checkbox">
                            <button type="button" class="btn btn-primary">
                                dado1</button>
                        </div>
                    </td>
                    </tr>
                    <tr><td>Dado 1</td><td>Dado 2</td><td><div class="btn-group" data-toggle="buttons-checkbox">
                            <button type="button" class="btn btn-primary">
                                dado1</button>
                        </div></td></tr>
                    <tr><td>Dado 1</td><td>Dado 2</td><td><input type="button" data-toggle="buttons-checkbox" class="btn btn-primary" /></td></tr>
                    <tr><td>Dado 1</td><td>Dado 2</td><td><input type="checkbox" /></td></tr>
                </tbody>


            </table>
    </div>

上記のこの div は #lista1 div に表示されます。

4

2 に答える 2

0

これはあなたの質問とはまったく関係がないことを知っていますが、JavaScript を見た後、あまり意味をなさない要素に対していくつかのアクションを実行していることに気付かずにはいられません。私のコメントはインラインです:

    $(document).ready(function () {
        $("#esconde, #Div1, #Div2").hide();
        $("#act2").click(function () {
            $("#esconde").fadeIn(1000).show().append($("#lista1"));
            $("#listadefault").remove().fadeOut(500); // Fading out an element which is already removed

            // Attaching an event handler after a click event is handled.
            // This actually repeats every time you click and even if it's intentional you should perform .one() instead of click, so you don't bind multiple times
            $("#act3").click(function () {
                $("#listadefault").remove();
                $("#Div1").fadeIn(1000).show().append($("#lista1")); // Showing an element which is shows. FadeIn shows the element.

                $("#act4").click(function () {
                    $("#Div2").fadeIn(1000).show().append($("#lista1")); // Same thing with fadeIn and show as the above comment.
                    $("#listadefault").remove().fadeOut(500); // Same thing with remove and fadeOut
                });

            });
        });
于 2012-09-20T11:11:05.080 に答える
0

あなたはすべてのクリックイベントを互いに隠しています:

これを試して:

$(document).ready(function () {
        $("#esconde, #Div1, #Div2").hide();
        $("#act2").click(function () {
            $("#esconde").fadeIn(1000).show().append($("#lista1"));
            $("#listadefault").remove().fadeOut(500);
        });

            $("#act3").click(function () {
                $("#listadefault").remove();
                $("#Div1").fadeIn(1000).show().append($("#lista1"));
            });
                $("#act4").click(function () {
                    $("#Div2").fadeIn(1000).show().append($("#lista1"));
                    $("#listadefault").remove().fadeOut(500);
        });
  });
于 2012-09-20T11:09:22.570 に答える