Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html jquery单击功能不工作?_Javascript_Jquery_Html - Fatal编程技术网

Javascript html jquery单击功能不工作?

Javascript html jquery单击功能不工作?,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQuery 1.10.2,但此代码不起作用: $("#hbox99").click(function(e) { var loginoutbox = document.getElementById("cbox"); fromtop = cbox.style.bottom; if(fromtop=="0px") { $("#cbox").css('bottom','-365');} else{ $("#cbox").c

我正在使用jQuery 1.10.2,但此代码不起作用:

$("#hbox99").click(function(e) {
    var loginoutbox = document.getElementById("cbox");

    fromtop = cbox.style.bottom;

    if(fromtop=="0px")  {
        $("#cbox").css('bottom','-365');}
    else{
        $("#cbox").css('bottom','0');}
});
HTML代码:

<div class="data" id="cbox">
<div class="databox" id="hbox99"><div class="headtxt">Text</div></div>
</div>

文本

没有看到更多的代码(HTML和JavaScript),但似乎存在空引用异常,因为您正在创建变量“loginoutbox”,但随后尝试引用名为“cbox”的对象的样式属性

你可能想这么做-

$("#hbox99").click(function(e) {
   var loginOutBox = document.getElementById("cbox"), fromTop = loginOutBox.style.bottom;

   if (fromTop === "0px") {
      $("#cbox").css('bottom',-365);
   }
   else {
      $("#cbox").css('bottom',0);
   }
});
除了尝试修复代码外,我还将“fromTop”赋值给变量(否则它将成为隐式变量),对变量名使用camel大小写以提高可读性,并使用(通常推荐的)三重等于相等运算符(它同时检查类型和值-这是一个好习惯)。我还将您的“底部”值从字符串(用引号括起来)更改为整数,如果我没有记错的话,jQuery将为您将其转换为像素


如果它是一个固定值,而不是一个计算值,那么它很值得作为一个字符串来编写,但使用的单位是-365px。

您能显示整个代码和HTML吗?您可能只是在代码中缺少了一个DOM就绪处理程序,但谁能说出来呢?:)你说不工作是指。。。?它应该做什么?它应该做什么?错误消息?您是否进行过任何基本调试(值为
fromtop
等)?我不知道
cbox
是否是Javascript的东西,但您将
getElementById
分配给了一个不使用的变量。你想用它吗?但是你的JavaScript在哪里?您确定在调用JavaScript之前先加载
HTML
项吗?这也是您的整个JavaScript,其中定义了
cbox
@Zhouster不是。这就是出错的原因。也值得花些时间查看您选择的浏览器的开发工具,因为这些工具很可能会告诉您错误,而不必询问有关StackOverflow的问题。尽管如此,欢迎您,我希望您喜欢学习JavaScript。