FancyBox не работает с обычным кликом - PullRequest
2 голосов
/ 29 сентября 2011

Я создаю небольшую игру на JavaScript.Когда страница загружается, она должна отображать Fancybox поверх страницы.

Вот мой 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>

Все мои FancyBox, которые активируют onclick, показывают, но затем автоматически закрываются примерно через 5 секунд после открытия.

Есть ли способ, как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Вместо .click () вы, вероятно, должны просто использовать .open ()

Редактировать: Глупый, нет .open ().У меня были проблемы с запуском программных кликов.Если метод, который вы пытаетесь вызвать, вызывает проблемы, попробуйте это

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

или, в качестве альтернативы, используйте ручной вызов

$.fancybox('html content here',{options})
0 голосов
/ 29 сентября 2011

Если вы звоните вручную, вы можете сделать:

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

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

И тогда содержимое #div-id будет в ручном вызове.

Надеюсь, это поможет.

...