Javascript html jquery单击功能不工作?
我正在使用jQuery 1.10.2,但此代码不起作用: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
$("#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。