我是Jquery的新手,在一本书中看到了这段代码。 我试图理解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');
});
答案 0 :(得分:0)
除非我们没有看到更多代码,否则在页面加载时只会调用hideCode
一次。 checkForCode
在点击guess_box
之前不会运行。顺序是:
checkForCode
绑定到guess_box
的点击事件,但它尚未运行。hideCode
运行。