如果css()== X,否则,不工作,表单不起作用

时间:2012-02-12 18:28:23

标签: javascript jquery ajax json dynamic

我正在为我的社交网络聊天。我正在使用以下代码,它似乎在显示聊天时工作,但不是在隐藏它时。您可以在右下角的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 个答案:

答案 0 :(得分:2)

即使你可以设置 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");
  }
}