1

まだ dem jQueries を学習していて、別の問題を発見しました - 私はサイドのものから古典的なフィードバック パネル/スライドを再作成したかったです。

HTML

<div id="foobar" class="slide closed">
            <img class="slidebutton" src="img/slide.png" alt="slide">

            <div id="slidetext">
                <p>slide me out</p>
            </div>
    </div>

jQuery

$(document).ready(function() {
$(".slidebutton").click(function () {
    $('#foobar').toggleClass("open closed");

    if $('#foobar').attr('class') returns 'closed' {
        $( "#foobar" ).animate({ "left": "+=200px" }, "slow" );
    }
    else {
        $( '#foobar' ).animate({ "right": "+=200px" }, "slow" );
    });
});

});

ifステートメントなしでトグルをテストすると動作するので、アニメーションを考慮して間違いを犯したと思いますか?

ze interwebz の無限の知識パワーを歓迎します :)

4

1 に答える 1

3

.hasClass()を使用して、クラスがあるかどうかを確認できます。

if($('#foobar').hasClass('closed'))
{
    $( "#foobar" ).animate({ "left": "+=200px" }, "slow" );
}
else
{
    $( '#foobar' ).animate({ "right": "+=200px" }, "slow" );
}
于 2013-08-09T21:00:11.370 に答える