だから、私はいくつかのアニメーションアクションを持っています.これは私のログインパネルボックス用です:
$('.top_menu_login_button').live('click', function(){
$('#login_box').animate({"margin-top": "+=320px"}, "slow");
});
$('.login_pin').live('click', function(){
$('#login_box').animate({"margin-top": "-=320px"}, "slow");
});
本文をクリックした後に非表示アクションを追加する必要があるので、次のようにします。
var mouse_is_inside = false;
$('#login_box').hover(function () {
mouse_is_inside = true;
}, function () {
mouse_is_inside = false;
});
ボディクリックでこの要素を非表示にするのをやめるには、これはボディクリックの外側にlogin-box
$("body").mouseup(function () {
if (!mouse_is_inside) {
var login_box = $('#login_box');
if (login_box.css('margin-top','0')){
login_box.stop().animate({"margin-top": "-=320px"}, "slow");
}
}
});
すべて問題ありませんが、このパネルはボディをクリックするたびにアニメーションします。これを停止して 1 回だけ実行するにはどうすればよいですか? このパネルが表示されるかどうかに依存しますか?