我是Jquery的新手,在一本书中看到了这段代码。 我想了解如何执行hideCode()。Jquery函数调用序列
这是我evets序列的认识多数民众赞成将要发生:
- 文件被加载和准备执行的jQuery功能。
- 当guess_box被点击时运行checkForCode()函数。
- hideCode()函数运行。
这是正确的吗?
$(document).ready(function() {
$(".guess_box").click(checkForCode);
function getRandom(num) {
var my_num = Math.floor(Math.random() * num);
return my_num;
}
var hideCode = function() {
var numRand = getRandom(4);
$(".guess_box").each(function(index, value) {
if(numRand == index){
$(this).append("<span id='has_discount'></span>");
return false;
}
});
}
hideCode();
function checkForCode() {
var discount;
if($.contains(this, document.getElementById("has_discount"))) {
var my_num = getRandom(5);
discount = "<p>Your Discount is " + my_num + "%</p>";
} else {
discount = "<p>Sorry, no discount this time!</p>" ;
}
$(this).append(discount);
$(".guess_box").each(function() {
$(this).unbind('click');
});
恕我直言,在行中添加警报/console.debug并查看它们执行的顺序。这将帮助你理解执行的顺序。 – Shyju 2012-04-26 21:14:29
您的代码很难用1空格缩进来阅读。我建议你使用4个空格。 – ThiefMaster 2012-04-26 21:17:18
hideCode在您点击之前被调用。 – jantimon 2012-04-26 21:50:30