Если css () == X, иначе не работает, формы не работают - PullRequest
1 голос
/ 12 февраля 2012

Я делаю чат для моей социальной сети.Я использую следующий код, и он, кажется, работает при показе чата, но не при его скрытии.Вы можете увидеть это на http://live -pin.com в правом нижнем углу (панель "system").

Что я делаю плохо?

function toggleChat(obj){
    current_margin = $(obj).css('marginBottom');
    if (current_margin == 0){
            $(obj).animate({marginBottom : "-270px"}).removeClass("active_box").addClass("hidden_box");
    }else{
        $(obj).animate({marginBottom : "0"}).removeClass("hidden_box").addClass("active_box");
    }
}

Кроме того, у меня проблемы, потому что они показывают / скрывают оба чата, и я не хочу, чтобы это произошло, и "НОВОЕ СООБЩЕНИЕ"форма не работает, просто в последнем созданном чате.В качестве дополнительной детали ящики создаются динамически с данными, полученными из JSON, поэтому я не могу использовать функцию click () или аналогичные элементы.

<?php echo " Спасибо!("; ?>

1 Ответ

2 голосов
/ 12 февраля 2012

Даже если вы можете установить marginBottom на 0, внутренне оно будет 0px, таким образом, current_margin будет 0px, что не 0.Но вы можете сначала попытаться разобрать значение:

function toggleChat(obj) {
  var currentMargin = parseInt($(obj).css('margin-bottom'));
  if (currentMargin === 0) {
    $(obj).animate({ marginBottom: "-270px" })
          .removeClass("active_box")
          .addClass("hidden_box");
  } else {
    $(obj).animate({marginBottom : "0px"})
          .removeClass("hidden_box")
          .addClass("active_box");
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...