Javascript 缺失元素混淆

Javascript 缺失元素混淆,javascript,jquery,facebook,fbml,fbjs,Javascript,Jquery,Facebook,Fbml,Fbjs,我正在创建一个脚本,在X分钟后生成一个内容锁定器。问题是,likeButton中的内容不会显示。模式弹出窗口显示良好,标题和说明也显示良好。只是不是喜欢的按钮内容。如果我从计时器中取出代码块,它就会工作。我有点困惑。知道怎么回事吗 var title = 'Please Press Like'; var instructions = 'Like our videos? Join our fanpage. It takes 1 second.'; var lockDela

我正在创建一个脚本,在X分钟后生成一个内容锁定器。问题是,likeButton中的内容不会显示。模式弹出窗口显示良好,标题和说明也显示良好。只是不是喜欢的按钮内容。如果我从计时器中取出代码块,它就会工作。我有点困惑。知道怎么回事吗

var title           = 'Please Press Like';
var instructions    = 'Like our videos? Join our fanpage. It takes 1 second.';
var lockDelay       = 100;  // 1200000 = 20 Minutes

/* STOP EDITING */
var boxy;

$(document).ready(function() {
    // Create the like button
    setTimeout(function() {
        // Create the like button
        var likeButton = '<div id="likeButton"><fb:like href="" send="false" layout="box_count" width="70" show_faces="false" font=""></fb:like></div>';

        // Display the modal
        boxy = new Boxy('<p id="instructions">' + instructions + '</p>' + likeButton, {
            title: title,
            modal: true,
            closeable: false,
        });
    }, lockDelay);

    // Close modal after user likes
    $('#likeButton').mouseover(function() {
        setTimeout(function() {boxy.hide()}, 3000);
    });
});
var title='请按Like';
var指令='喜欢我们的视频吗?加入我们的粉丝页面。这需要1秒钟。”;
var lockDelay=100;//1200000=20分钟
/*停止编辑*/
var-boxy;
$(文档).ready(函数(){
//创建like按钮
setTimeout(函数(){
//创建like按钮
var likeButton='';
//显示模态
boxy=新的boxy(“

”+指令+”

“+类似按钮{ 标题:标题,, 莫代尔:是的, 可关闭:错误, }); },锁延迟); //用户喜欢后关闭模式 $('#likeButton').mouseover(函数(){ setTimeout(函数(){boxy.hide()},3000); }); });
试试这个

var title           = 'Please Press Like';
var instructions    = 'Like our videos? Join our fanpage. It takes 1 second.';
var lockDelay       = 100;  // 1200000 = 20 Minutes

/* STOP EDITING */
var boxy;

$(document).ready(function() {
    // Create the like button
    setTimeout(function() {
        // Create the like button
        var likeButton = '<div id="likeButton"><fb:like href="" send="false" layout="box_count" width="70" show_faces="false" font=""></fb:like></div>';

        // Display the modal
        boxy = new Boxy('<p id="instructions">' + instructions + '</p>' + likeButton, {
            title: title,
            modal: true,
            closeable: false,
        });

        // Close modal after user likes
        $('#likeButton').mouseover(function() {
            setTimeout(function() {boxy.hide()}, 3000);
        });
    }, lockDelay);

});
var title='请按Like';
var指令='喜欢我们的视频吗?加入我们的粉丝页面。这需要1秒钟。”;
var lockDelay=100;//1200000=20分钟
/*停止编辑*/
var-boxy;
$(文档).ready(函数(){
//创建like按钮
setTimeout(函数(){
//创建like按钮
var likeButton='';
//显示模态
boxy=新的boxy(“

”+指令+”

“+类似按钮{ 标题:标题,, 莫代尔:是的, 可关闭:错误, }); //用户喜欢后关闭模式 $('#likeButton').mouseover(函数(){ setTimeout(函数(){boxy.hide()},3000); }); },锁延迟); });
完全正确。匿名函数在100毫秒后创建按钮。脚本实际上在创建元素之前尝试绑定事件,因此它不起作用,因为元素不存在。我认为移动鼠标悬停不会有什么不同,因为鼠标悬停事件隐藏的是模式,而不是likeButton变量中的内容。我试过了,但没用。@usoban把它改成10秒也没用,还是没用。看看katspaugh的答案。它会启动按钮。但是,如果未提供ShankarSangoli修改,modal将无法关闭。所以实际上您有两个错误:)关键是在Jquery尝试附加mouserover事件之前,DOM中的按钮应该是可用的。