我正在打开一个完整的页面层,以便在单击按钮时进行过滤。可以通过按钮关闭它,但有些确实使用浏览器的导航功能,然后加载最后一页而不是打开它的页面。
为了解决这个问题,我看到有两种方法。一种带有哈希值,一种带有浏览器状态。
浏览器状态不会在后退按钮上为我关闭图层,只是更改了 URL,所以我正在尝试哈希选项。
虽然它有效,但问题是我确实有多个层可以调用例如搜索层。
// show/hide filter layer
var filter_layer_toggle = function() {
// window.history.pushState('page2', 'Title', '/page2.php');
$("#btn_save_search").toggle()
// more happening here
}
//this needs to be called on another event
var search_layer_toggle = function() {
// toggles search layer elements
}
$("#filter_button, #btn_fltr").on("click", function(){
window.location.hash = "filter";
});
document.location.hash = '';
$( window ).on( 'hashchange', function( e ) {
filter_layer_toggle();
} );
使用多层时,如何支持浏览器返回功能?
跃然一笑
相关分类