无法调试此jQuery

时间:2011-07-07 08:40:57

标签: jquery debugging

如果您查看我的沙箱网站englishgodsandbox,大约8秒后,会在页面中间加载一个带有“确认”按钮的下拉菜单。如果单击“确认”按钮,页面的背景图像应根据下面的最后几行代码更改。

然而,图像没有变化......谁能告诉我为什么?

$(document).ready(function(){       
    $(init);   
}); 

function init() {
    cloudshow();
}
function cloudshow() {
    $("#intro").fadeIn(1000, function(){
        $("#intro2").fadeIn(1000, function(){
            $("#cloud1").fadeIn(2000, function(){
                $("#cloud2, #cloud5").fadeIn(2000, function(){
                    $("#cloud3, #cloud4, #cloud6").fadeIn(2000, function(){
                        $("#message").fadeIn(1000, function() {
                            $("#contactform").fadeIn(1000)
                        });  
                    });
                });
            });
        });
    });
};



var img1 = "url('/wp-content/themes/thesis_18/custom/images/map.jpg') repeat";

$(".submit").click(function(){
    $("body.custom").css({background: img1});
});

3 个答案:

答案 0 :(得分:1)

好的,我想我看到了问题。

在执行最后三行的时候,.submit按钮实际上还没有在页面上。

将这些行移到init()函数中并尝试一下。

init函数只在文档准备好后执行,因此那时按钮应该在那里。

答案 1 :(得分:1)

为了

$(".submit").click(function(){
    $("body.custom").css({background: img1});
});

工作时你应该确保$(“。submit”)存在,所以试试:

var img1 = "url('/wp-content/themes/thesis_18/custom/images/map.jpg') repeat";

$(document).ready(function(){ 
  init();   

  $(".submit").click(function(){
        $("body.custom").css({background: img1});
  });

}); 

答案 2 :(得分:0)

问题是您在将$(".submit")元素解析为DOM之前引用它们。把它们放在白天活动中,或者放在身体末端会解决你的问题。

$(function() {
    $(".submit").click(function(){
        $("body.custom").css({background: img1});
    });
});