【发布时间】:2016-09-05 12:38:26
【问题描述】:
我正在尝试为我的网站制作后退和前进按钮。其实我想关注this。所以首先,我需要检查window.history.back();和window.history.forward();是否存在?如果是,则显示他们的按钮并为他们设置href 属性。
function creat_back_forward_btn(){
if ( window.history.back() ) {
$('.back_btn').show(); // in first, the button is hidden (by CSS)
var previous_page = window.history.back();
$('.back_btn').attr('href', previous_page );
}
if ( window.history.forward() ) {
$('.forward_btn').show(); // in first, the button is hidden (by CSS)
var next_page = window.history.forward();
$('.forward_btn').attr('href', next_page );
}
}
creat_back_forward_btn(); // on load
然后,我将像这样使用这些按钮:
$('.back_btn, .forward_btn').on('click', function() {
var page = $(this).attr('href');
location.href=page
});
但是我的代码没有按预期工作,我的意思是我什至无法打开我的网站。它将被重定向到某个地方而无需单击任何内容。我该如何解决?
【问题讨论】:
-
首次运行代码时,您将
window.history.back()的结果分配给变量previous_page。这意味着该方法已执行,并且您将返回一个页面。您应该做的是将其内部的 callingwindow.history.back()函数分配给previous_page。 -
window.history.back是一个函数而不是布尔值。当你执行if ( window.history.back() ) {时你正在执行它 -
你不能用
$('.back_btn').click(function(){window.history.back()})吗?
标签: javascript jquery html css