1

首先,很抱歉我的问题,我对 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 的原因是因为它是我在任何地方找到的最简单的代码,可以在页面完成加载后加载弹出花式框;不需要在body部分添加对iframe的引用,定义box的大小真的很容易。

有人可以帮我吗?

提前谢谢了。

4

1 回答 1

1

Remove the setTimeout and try encasing your code in 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>
于 2013-08-03T23:08:25.807 回答