我正在制作一个包含图书的网站,用户可以选择转到下一页或上一章。每章都有1个html文件。我已经在使用这个脚本,但是当我按下一个或上一个按钮时,enter link description here会尝试加载此页面而不是2.html
<script type="text/javascript">
function goto(url) { window.location=url; }
var curPage = parseInt(location.href.replace(/([1-93]+)\.html/, ''))
if (curPage <= 1) {
// First page, no 'back' link
document.write('<a href="#" class="disabled">Back</a>');
} else {
var backPage = curPage-1;
document.write("<a href=\"#\" onclick=\"goto('"+backPage+".html')\">Back</a>");
}
if (curPage >= 93) { // Replace with highest page number
// Last page, no 'next' link
document.write('<a href="#" class="disabled">Next</a>');
} else {
var nextPage = curPage+1;
document.write("<a href=\"#\" onclick=\"goto('"+nextPage+".html')\">Next</a>");
}
</script>
答案 0 :(得分:0)
你可以使用jQuery做这种性质的事情吗?
$('#next').click(function(e)
{
e.preventDefault()
$('#currentPage).remove();
$(#'yourDiv').load('2.html, function()
{
//more logic here
});
});
答案 1 :(得分:0)
您的问题可能与您的curPage变量有关。试试这个:
curPage = location.href.substring(location.href.lastIndexOf('/') + 1);
curPage = parseInt(curPage.replace(/([1-99]+)\.html/, '$1'));
我相信你的替换功能正在用空字符串替换所有内容。这应该用数字替换页面。
见上面的代码。在使用replace函数之前,您需要从URL获取页面名称。
忘记将location.href放在第一行。
答案 2 :(得分:0)
首先,你创建一个目录,然后说:
本地主机/书/
其次在该目录中添加一些html文件(如1.html,2.html,3.html)粘贴在以下html中
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script src="code.js"></script>
<a class="prev" href="#">Load Prev page</a>
<a class="next" href="#">Load Next page</a>
在根目录中创建一个名为code.js的javascript文件,并粘贴以下代码:
$(function(){
var _href = location.pathname.split('/')[1];
var _url = location.pathname.split('/');
var _length = _url.length;
var _page = _url[_length - 1] + "";
var _current = _page.split('.')[0];
_current = parseInt(_current);
$('a.next').click(function(){
var request = location.protocol + '//' + location.hostname + '/' + _href + "/" + (_current + 1) + '.html';
$.ajax({
url: request,
type:'HEAD',
error: function()
{
// last page
},
success: function()
{
window.location = request;
}
});
});
});