好的,我的页面上有一个简单的按钮(MyPage),淡出当前的div(淡入淡出1),淡入另一个淡出淡出(淡入淡出2)。我现在意识到我可能有机会直接从其他地方去那个页面(淡出2)。我可以通过window.location
重定向我的页面。但是我也希望如果按下该链接(来自其他一些随机页面),请转到页面(淡入淡出1),然后fadeOut
当前div和fadeIn
另一个(淡入淡出2)。
希望这不会太混乱。这是我用于访问页面的代码(MyPage):
$('#fav').click(function(){
window.location = 'production/produc_order.php';
$('#view_production').fadeOut('slow');
$('#create_order').fadeIn('slow');
})
答案 0 :(得分:9)
如果您不想或不能重新编码您的页面以支持AJAX,那么另一个老派选项是将URL中的参数作为提示传递给刷新的页面。 (如果你认为真的有必要,你可以通过重定向POST来隐藏它,或者使用cookie技术。重点是刷新的页面需要来自前一页的某种形式的标记。)
例如:
$('#fav').click(function(){
window.location = 'production/produc_order.php?create=1';
})
并将淡入淡出代码放入$(document).ready()
函数中,并检查create
参数,cookie或其他内容。
我同意@remibreton,使用AJAX是更时尚,更现代的方法。
答案 1 :(得分:3)
更改window.location
将终止当前在浏览器中运行的所有脚本。
您唯一的其他解决方案是通过AJAX
获取页面并运行回调函数以在加载内容时执行。 Here is something to get you started
此外,jQuery as a nice .ajax()
method可以轻松执行AJAX
次请求并将回调与成功和失败的请求相关联。
答案 2 :(得分:0)
您可以使用sessionStorage()
$('#fav').click(function(){
sessionStorage.setItem("reloading", "true");
window.location = 'production/produc_order.php';
});
var reloading = sessionStorage.getItem("reloading");
if(reloading == true) {
sessionStorage.removeItem("reloading");
$('#view_production').fadeOut('slow');
$('#create_order').fadeIn('slow');
}