0

トグル状態を確認したい。ブラウザのコンソール ログを確認すると、visible 値は true で、false に変わりません。

なぜこうなった?どうすれば修正できますか?


<html> 
<head>
<script src='~/Scripts/jquery-1.4.1.min.js' type="text/javascript"></script>

<script type="text/javascript">
        $(function () {

            $('#divUpdateForm').click(function () {

                $('#divUpdateContent').slideToggle();

                console.log($('#divUpdateContent').is(":visible"));

            });
        });
</script>
</head>
<body>
<div id="divUpdateForm" runat="server" class="panel" >Update panel state</div>

<div id="divUpdateContent" runat="server">
... my content
</div>
</body>
</html>
4

2 に答える 2

1

callback次のような関数でトグルが完了した後、トグルの状態を確認できます。

$('#divUpdateForm').click(function () {

    $('#divUpdateContent').slideToggle(function () {

        // Animation complete.
        if ($(this).is(":visible")) {
            console.log($(this).is(":visible"));
        } else {
            console.log($(this).is(":visible"));
        }
    });
});

フィドルのデモ

于 2013-07-31T13:55:05.927 に答える
0

要素をスライドする前に確認する必要があります。スライド中、要素は常に表示されます。

$(function () {
    $('#divUpdateForm').click(function () {
        var v = $('#divUpdateContent').is(":visible")


        $('#divUpdateContent').slideToggle();

        // note that the variable v is also accessible here ?
        console.log(v)
    });
});

フィドル

于 2013-07-31T13:52:28.227 に答える