我有一个图像列表,当单击图像时,我需要进行 ajax URL 调用并验证一些参数。
如果验证没问题,我将不得不显示fancybox,否则我应该显示另一个fancybox。
我的问题: 当我单击图像并且如果验证为假时,另一个 fanybox 会按预期显示。但是如果验证是真的,Firebug 会抛出一个错误,说“递归过多”。
PS::如果验证为真,则期望显示 video.js 播放器。
HTML 示例:
<a id="videolink" href="#1" title="Test">
<img class="vidimg" src="1.png" videoId="1" width="180" height="180" />
</a>
<div style="display:none">
<video id="1" poster="1.png" class="video-js vjs-default-skin">
<source src="1362993728.mp4" type='video/mp4'>
<source src="1362993728.webm" type='video/webm'>
<source src="1362993728.ogv" type='video/ogg'>
</video>
</div>
jQuery:
$("a#videolink").click(function(){
$videoId = $(this).children("img.vidimg").attr("videoId");
$isValid = "true" or "false" ; // validation using .ajax() call
if($isValid == 'true'){
$(this).fancybox().click();
}else{
$("#myModal").fancybox().click()
}
});
Firebug在行上显示了“太多递归”:
$videoId = $(this).children("img.vidimg").attr("videoId");
在“false”的情况下要显示的其他 fanybox 内容:
<div style="display:none">
<div id="myModal"> Invalid Item</div>
</div>