使用jQuery按顺序执行操作

时间:2012-05-03 09:22:13

标签: jquery fullscreen sequencing waitforimages

我在页面上使用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,再次,没有运气。

谢谢!

1 个答案:

答案 0 :(得分:2)

当你有像function2(function1(whatever))这样的嵌套函数调用时,首先执行内部函数,然后执行外部函数。因此,在您的情况下,将在waitForImages之前应用fullscreenr()调用...这将解释行为。

第二次瞥见我想这就是你想要做的事情

$bg.waitForImages(function() {jQuery.fn.fullscreenr(FullscreenrOptions)});