0

我搜索 jquery 页面加载。

我总是面对人们使用类似的东西

jQuery("#popup").fadeIn(4000); //function to redirect the page after few seconds
                            window.location.replace("http://"+a_href);  
                        }, 3000)

他们设置超时 3000 。但是,有可能在 3 秒后无法加载页面。

有没有办法动态地做到这一点?

4

1 回答 1

1

您不需要预测 3 秒是否足够长,您可以简单地使用回调函数,以便元素在加载之前不会淡入。

此外,window.location.replace()不会将内容加载到弹出窗口中,它会将整个网页更改为这个新位置。相反,您应该使用jQuery Load ( $.load())。

因此,您不需要淡入淡出动画持续 3 秒,您可以让它动画长/短,只要您喜欢。在我的示例中,我已将其减少到 0.3 秒。

请改用以下内容:

var $popup = $("#popup");
$popup.fadeOut(300, function(){
   $popup.load("http://"+a_href, function(){
       $popup.fadeIn(300);
   });   
});
于 2012-04-19T15:13:11.567 回答