私はJqueryの初心者で、このコードを本で見ました。hideCode() がどのように実行されているかを理解しようとしています。
これは、発生する一連のイベントについての私の理解です。
- ドキュメントが読み込まれ、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');
});