FancyBox onload show无法正常点击

时间:2011-09-28 22:09:49

标签: javascript jquery fancybox lightbox

我正在创建一个小小的JavaScript游戏。当页面加载时,它应该在页面上显示Fancybox。

这是我的Fancybox jQuery:

$(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>

我的所有激活oncl​​ick的FancyBox都会显示,但它会在打开后大约5秒自动关闭。

我有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

而不是.click()你应该只使用.open()

编辑:傻我,没有.open()。我之前遇到点击程序化点击事件的问题。如果您尝试的方法导致问题,请尝试此

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

或者使用手动呼叫

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

答案 1 :(得分:0)

如果您进行了手动通话,则可以执行以下操作:

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

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

然后,#div-id的内容将出现在手动调用中。

我希望有所帮助。