首先,对不起我的问题,我是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的引用,并且很容易定义框的大小。
可以请有人帮我吗?
非常感谢提前。
答案 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>