用Java脚本加载下一个前一个HTML页面

load next previous html page with java script

本文关键字:一个 HTML 页面 脚本 Java 加载 下一个      更新时间:2023-09-26

我正在制作一个包含一本书的网站,用户应该有选择去下一章或上一章。每一章有一个html文件。我已经使用了这个脚本,但是当我按下一个或上一个按钮时,这里的输入链接描述试图加载这个页面而不是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>

您可以使用jQuery做这种性质的事情吗?

    $('#next').click(function(e)
    {
       e.preventDefault()
       $('#currentPage).remove();
       $(#'yourDiv').load('2.html, function()
       {
         //more logic here
       });
    });

首先创建一个目录比如:

localhost/书/

其次,在该目录中添加一些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;
            }
        });
    });
});

您的问题可能与您的curPage变量有关。试试这个:

curPage = location.href.substring(location.href.lastIndexOf('/') + 1);
curPage = parseInt(curPage.replace(/([1-99]+)'.html/, '$1'));

我相信你的replace函数是用空字符串替换所有内容。这将用数字替换该页。

更新

参见上面的代码。在使用replace函数之前,您需要从URL中获取页面名称。

忘记写位置。