Fancybox,setTimeout在重定向后无法在页面中工作

时间:2013-08-03 23:06:25

标签: jquery settimeout fancybox-2

首先,对不起我的问题,我是jQuery和Javascript的新手。我在这个页面中找到了一个很好的代码,它在我的离线测试中运行良好,也适用于在线站点,但不适用于我希望它加载的特定页面。这是代码:

<script type="text/javascript">
setTimeout(function() {

$.fancybox({
    'width'             : 292,
    'height'            : 62,
    'autoScale'         : true,
    'transitionIn'      : 'fade',
    'transitionOut'     : 'elastic',
    'openEffect'        : 'fade',
    'closeEffect'       : 'elastic',
    'type'              : 'iframe',
    'href'              : "http://www.facebook.com/plugins/likebox..."
});
}, 5000);   
</script>

在加载所有必需的JS和CSS文件后,我将此代码放在Head部分中。如上所述,除了我想拥有它之外,它在任何地方都能正常工作。原因可能是因为该页面是重定向的结果。我的意思是:页面A重定向到页面B,我将代码放在页面B中。如果代码在页面A中,它可以正常工作,但不幸的是我需要在页面B中。

我使用setTimeout的原因是因为它是我在任何地方加载弹出式fancybox后最简单的代码,一旦页面加载完毕;一个不需要在body部分中添加对iframe的引用,并且很容易定义框的大小。

可以请有人帮我吗?

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

删除setTimeout并尝试在Document Ready handler

中包含您的代码
<html>
   <head>
      // Your css files come here
   </head>
   <body>
       // You main HTML
      <script dependencies> go here  .. 
      <script  jquery
      <script fancybox plugin
      <script type="text/javascript">
        $(function() {
            $.fancybox({
                'width'             : 292,
                'height'            : 62,
                'autoScale'         : true,
                'transitionIn'      : 'fade',
                'transitionOut'     : 'elastic',
                'openEffect'        : 'fade',
                'closeEffect'       : 'elastic',
                'type'              : 'iframe',
                'href'              : "http://www.facebook.com/plugins/likebox..."
            });
        });
    </script>
 </body>
</html>