[英]click action won't bind
下面的代碼僅在我注釋掉點擊代碼時才起作用-即,如果我不注釋掉click事件處理程序,則懸停功能甚至不起作用,所以我知道這是罪魁禍首。 有什么問題的想法嗎?
非常感謝!
$(document).ready(function() {
/* helper function to main database querying function
below. Figures out the number of activities needed
for completeness. Takes the box's class name as an
argument
*/
var complete = function(arg) {
switch(arg) {
case "three":
return 3;
case "four":
return 4;
case "seven":
return 7;
}
};
// determine if we change color of box
var changeColor = function(arg) {
if (arg.hasClass("zero")) {
arg.removeClass("zero").addClass("between");
}
else if (arg.hasClass("between")) {
if (numComplete == toComplete) {
arg.removeClass("between").addClass("complete");
}
}
};
// CHANGE BOX COLOR WHEN HOVERING OVER IT
$(".innerBox").hover(function() {
if ($(this).hasClass("zero")) {
$(this).addClass("innerBoxHoverGrey");
}
else if ($(this).hasClass("between")) {
$(this).addClass("innerBoxHoverYellow");
} else {
$(this).addClass("innerBoxHoverGreen");
}},
function() {
if ($(this).hasClass("innerBoxHoverGrey")) {
$(this).removeClass("innerBoxHoverGrey");
} else if ($(this).hasClass("innerBoxHoverYellow")) {
$(this).removeClass("innerBoxHoverYellow");
} else {
$(this).removeClass("innerBoxHoverGreen");
}
}
);
// WHERE ALL THE JUICE IS - CLICK ON A BOX, CHECK WITH DATABASE
$(".innerBox").bind("click", function() {
// This is what we'll be passing to everything
var className = $(this).attr("id");
var numComplete;
var toComplete;
// DATA TO PASS
var data = {
"val": className
};
// TAKE CARE OF TIME FIRST
var recentlyCompleted = false;
$.getJSON("time.php", function(result) {
$.each(result, function(key, val)) {
recentlyCompleted = val;
};
});
/*
if (!recentlyCompleted) {
throw new Error("error");
} else {
// UPDATE ACTIVITY TABLE - not meant to return anything
$.getJSON("updateActivityTable.php", data, function(newResult) {
alert(newResult);
});
// UPDATE TIME TABLE - not meant to return anything
$.getJSON("updateActivityTimeTable.php", data, function(newResult) {
alert(newResult);
});
// UPDATE UI BASED ON ACTIVITIES COMPLETED
var spanName = className + "Num";
$.getJSON("getActivityNum.php", data, function(newResult) {
$.each(result, function(key, val)) {
$("#"+spanName).html(val);
numComplete = val;
}});
// figure out how many activities means its
// complete
toComplete = complete($(this).attr("class"));
changeColor($(this));
}*/
});
})
綁定單擊事件中的每個循環中都有語法錯誤。 錯誤在這里: $.each(result, function (key, val)) {
應該是,
$.getJSON("time.php", function(result) {
$.each(result, function(key, val) {
recentlyCompleted = val;
});
});
修復了由於“每個”語句附近括號放置錯誤而導致的錯誤。 謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.