javascript - 如果 css() == X,否则,不工作,表单不工作

标签 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 " 谢谢! (: "; ?>

最佳答案

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

关于javascript - 如果 css() == X,否则,不工作,表单不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9251417/

相关文章:

javascript - 将文本与可折叠集 jquery 移动中的按钮对齐

php - Jquery ajax 无 PHP 响应

javascript - 为什么我的循环不在我的页面上显示我的 JSON/API 数据?

javascript - JQuery 计算子元素的宽度

javascript - onMessage 未在 Chrome 扩展程序上执行

javascript - 在 Javascript 方法中添加 setInterval

javascript - 是否可以在 Chrome android 上不显示地址栏的情况下显示键盘?

javascript - Jquery 和 CSS 动画在 ANDROID Webview 应用程序中不起作用

javascript - 带有 ajax 和 Node http 模块的 Node.js 管道流

ajax - 如何在 Laravel js 文件上添加 ajax URL?