我在页面上使用fullscreenr jQuery插件。首先,我隐藏图像,然后使用waitforimage插件在其上运行fullscreenr,最后我使用fadeIn来显示它:
<img id="bgimg" style="display: none;" src="<?php bloginfo('template_url')?>/images/backgrounds/<?php echo $imageData['location']; ?>" />
<script type="text/javascript">
$bg = $('#bgimg');
$bg.hide();
var FullscreenrOptions = { width: <?php echo $imageData['width']; ?>, height: <?php echo $imageData['height']; ?>, bgID: '#bgimg' };
$bg.waitForImages(jQuery.fn.fullscreenr(FullscreenrOptions));
$bg.fadeIn(2500);
</script>
我的问题是,不知何故,某些事情做得不对。这在我的开发框中工作正常,但是当我尝试在网页上加载页面时,fadeIn在图像完全加载之前就开始了。
我尝试在fullscreenr函数中添加回调,但结果相同。我该怎么做才能确保它正常工作?我也尝试使用$ bg.load()加载fullscreenr,再次,没有运气。
谢谢!
答案 0 :(得分:2)
当你有像function2(function1(whatever))
这样的嵌套函数调用时,首先执行内部函数,然后执行外部函数。因此,在您的情况下,将在waitForImages之前应用fullscreenr()调用...这将解释行为。
第二次瞥见我想这就是你想要做的事情
$bg.waitForImages(function() {jQuery.fn.fullscreenr(FullscreenrOptions)});