html中的上一个/下一个按钮?

时间:2012-11-13 16:45:33

标签: javascript html navigation pagination next

我想在我的网站上为新闻部分创建一个导航,当点击按钮时,它会将用户导航到下一个或上一个html。

按钮必须在html名称的末尾添加或删除一个数字,所以如果第一个html是news.html并且单击了下一个按钮,它应该转到news1.html等。

我想这可以通过javascript实现,我该如何开始?

2 个答案:

答案 0 :(得分:1)

您可以使用window.location获取当前页面,将其与正则表达式匹配以获取最后的数字(如果存在),然后将其递增以获取下一页并将其递减上一页。当然,你必须弄清楚如何处理第一页和最后一页。

例如,这样的事情可能会起作用:

var regex = /news(\d*)\.html/;
var index = +regex.exec(window.location.pathname)[1];

现在您的索引将为空(对于news.html)或数字。然后,您可以使用该数字形成下一个和上一个按钮所需的网址。

var nextUrl = "news" + (index+1) + ".html";
var prevUrl = "news" + (index-1) + ".html";

编辑:这不是最好的方法,但这里有一个fiddle可以帮助您入门。

答案 1 :(得分:1)

var path = window.location.pathname;

然后使用正则表达式解析path,获取当前页数(如果有)并将其转换为数字,增加/减少它并从中创建您的网址。

但是,我认为你没有使用ajax,而是使用某种服务器端语言,最好是在服务器端进行。

我们不能为你做功课。这是测试接受日期字符串的正则表达式的示例:

            // Date validation
        if (bdate != "")
        {
             if(!/^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}(\.)?$/.test(bdate)||
             String(new Date(bdate.split(".")[1] + "/" + bdate.split(".")[0] + "/" + bdate.split(".")[2])) == "Invalid Date")        
            {return "Please enter a valid date in format dd.mm.yyyy"}
        }

在那里,正则表达式测试是这个表达式:/^[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}(\.)?$/.test(bdate)并且它测试字符串bdate是否适合正则表达式。 正则表达式是可以通过将运算符放在两个正斜杠(/operators/)之间来构造的对象。

this is a reference for javascript regex蚂蚁这是tutorial。 祝你好运:))

不过,如果你不想学习任何东西,你应该考虑使用像wordpress或甚至tumblr这样的东西。