重定向后执行一个函数–javascript
好吧,我的页面上有一个简单的按钮(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'); })
更改window.location
将window.location
当前在浏览器中运行的所有脚本。
您唯一的其他解决方案是通过AJAX
获取页面并运行回调函数以在加载内容时执行。 这是让你入门的东西 。
此外, jQuery是一个很好的.ajax()
方法,可以轻松执行AJAX
请求并将回调与成功和失败的请求相关联。
如果您不想或不能重新编码页面以支持AJAX,则另一个老式选项是将URL中的参数作为提示传递给刷新页面。 (如果您认为确实需要,可以通过重定向POST来隐藏它,或者使用cookie技术。重点是刷新的页面需要前一页中某种forms的标记。)
例如:
$('#fav').click(function(){ window.location = 'production/produc_order.php?create=1'; })
并将淡入淡出代码放在$(document).ready()
函数中,并检查create
参数,cookie或其他内容。
我同意@remibreton,使用AJAX是更时尚,更现代的方法。
你可以用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'); }