2011-09-28 116 views
2

我正在创建一个小小的JavaScript游戏。当页面加载时,它应该在页面上显示一个Fancybox。FancyBox onload show无法正常点击

这里是我的jQuery的的fancybox:

$(document).ready(function() { 
$('#test').fancybox({ 
'transitionIn' : 'elastic', 
'transitionOut' : 'elastic', 
'showCloseButton' : false, 
'overlayOpacity' : 1 
}).click(); 
}); 

这里是我的HTML:

<a id="test" href="#test2" style="display:none;">Test the Popup</a> 
<div style="display:none;"> 
<div id="test2" style='padding:10px; background:#fff;width:550px;'> 
<b style="color:#FF9C21;font-size:24px;">HTML Jeoprady</b><br> 
<span style="font-size:15px;"> 
You think your good at HTML? Well test your skill here.<br> 
Please know there is more to HTML than 2 tags ;)<br> 
Are you ready?<br><br> 
<b style="color:#FF9C21;font-size:24px;">Name:</b> 
<input type="text" id="team1" /> 
</span> 
<br><br> 
<span id="start" onclick="loop();" style="cursor:pointer;color:#FF9C21;font-size:20px;"> 

<center>Start Game!</center></span> 
</div> 
</div> 

我所有的FancyBoxes激活的onclick秀,但随后后自动关闭约5秒钟打开。

有没有办法解决这个问题?

+0

请更新您的文章,以显示被点击的元素html。 Ala,HREF。 –

回答

0

如果你没有手动调用你可以这样做:

var theContent = $('#div-id').html(); 

$.fancybox(theContent, { 
'transitionIn' : 'elastic', 
'transitionOut' : 'elastic', 
'showCloseButton' : false, 
'overlayOpacity' : 1 
}); 

而且那么#div-id的内容将在手动呼叫中。

我希望有帮助。

1

相反。点击的()你应该只使用。开()

编辑:我傻,没有。开()。我之前遇到点击编程点击事件的问题。如果你正在尝试的方法是造成问题,试试这个

$('#test').trigger('click') 

或交替使用手动呼叫

$.fancybox('html content here',{options}) 
+0

感谢您的提示,但不工作 – Shawn31313

+0

是的,对不起,我很困惑。我更新了我的文章 - 有一种以静态方式调用fancybox而不是jQuery参考的方法 – jordancpaul

+0

我试过使用触发器,但它没有工作。我不喜欢使用手动呼叫。 – Shawn31313