JQuery анимационная коробка - PullRequest
0 голосов
/ 27 июля 2011

У меня есть окно, которое я хочу анимировать при нажатии на ссылку. Ссылка находится внутри поля - поэтому я не могу скрыть поле и использовать простую функцию slideToggle. Я хочу, чтобы окно сдвинулось в нижнюю позицию: 0px; при повторном нажатии оно должно опуститься до нижней части: -71px;

Это мой ящик 'HTML:

    <!-- LOGIN -->
<div id="userlogin">
    <div class="topbutton"><a href="#"><span>Log ind</span></a></div>
    <form action="" method="POST" enctype="" onsubmit="document.getElementById('_form__submit').disabled = true;" target="" id="_form__form">
        <input type="hidden" name="module" value="Brugere" id="_form__module">
        <input type="hidden" name="page" value="login" id="_form__page">
        <input type="hidden" name="do" value="" id="_form__do">
        <input type="hidden" name="id" value="0" id="_form__id">
        <input type="hidden" name="lang_id" value="da" id="_form__lang_id">
        <input type="hidden" name="_form_" id="_form_" value="submit">
        <input type="hidden" name="when_done" value="" id="when_done">

        <div class="left">
            <p><span>Brugernavn</span><input type="text" name="username" value="" id="username" class="loginfield" /></p>
            <p><span>Adgangskode</span><input type="password" name="password" value="" id="password" class="loginfield" /></p>
        </div>
        <div class="right">
            <input type="submit" id="_form__submit" class="loginbutton" value="Log ind" /><br />
            <a href="/site/da/Brugere/forgot_password"><b>»</b> Glemt adgangskode?</a>
            <iframe width="0" height="0" src="" name="_form__iframe_save" frameborder="0" framespacing="0" scrolling="no"></iframe>
        </div>
        <div class="clear"></div>
    </form>
</div>
<!-- LOGIN -->

А это пока jQuery

    $("#userlogin .topbutton a").click(function () {
    $("#userlogin").stop(true).animate({bottom: '0'}, {speed: 500});
}, function () {
    $("#userlogin").stop(true).animate({bottom: '-71px'}, {speed: 500});
});

Но это не работает, так может кто-нибудь, пожалуйста, помогите мне? :)

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Используйте метод toggle-event.

$("#userlogin .topbutton a").toggle(
function() {
    $("#userlogin").stop(true).animate({
        bottom: '0'
    }, 500);
}, function() {
    $("#userlogin").stop(true).animate({
        bottom: '-71px'
    }, 500);
});

демо на http://jsfiddle.net/gaby/5ChVX/1/

0 голосов
/ 27 июля 2011

Попробуйте

    $("#userlogin .topbutton a").click(function () {
    $("#userlogin").stop(true).animate({bottom: '0'}, 500);
}, function () {
    $("#userlogin").stop(true).animate({bottom: '-71px'}, 500);
});
...