Javascript 缺失元素混淆
我正在创建一个脚本,在X分钟后生成一个内容锁定器。问题是,likeButton中的内容不会显示。模式弹出窗口显示良好,标题和说明也显示良好。只是不是喜欢的按钮内容。如果我从计时器中取出代码块,它就会工作。我有点困惑。知道怎么回事吗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
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中的按钮应该是可用的。