-1

ボタンがクリックされると、ユーザーを次または前の HTML にナビゲートする Web サイトのニュース セクションのナビゲーションを作成したいと考えています。

ボタンは、html 名の末尾に数字を追加または削除する必要があるため、最初の html が news.html で、次のボタンをクリックすると、news1.html などに移動する必要があります。

これはJavaScriptで実現できると思いますが、どうすれば始められますか?

4

2 に答える 2

1

を使用しwindow.locationて現在のページを取得し、それを正規表現と照合して末尾の番号を取得し (存在する場合)、それをインクリメントして次のページを取得し、前のページでデクリメントすることができます。もちろん、最初と最後のページを処理する方法を考え出す必要があります。

たとえば、次のようなものが機能する可能性があります。

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

これで、インデックスは空白 ( の場合news.html) または数値になります。次に、その番号を使用して、次のボタンと前のボタンに必要な URL を形成できます。

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

編集: これは最善の方法ではありませんが、開始するためのフィドルがあります。

于 2012-11-13T16:52:27.953 に答える
1
var path = window.location.pathname;

次に、正規表現を使用して解析pathし、現在のページ数 (存在する場合) を取得して数値に変換し、増減して、そこから URL を作成します。

ただし、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が正規表現に適合するかどうかをテストします。正規表現は、上記の ( ) のように 2 つのスラッシュの間に演算子を配置して作成できるオブジェクトです/operators/

これは javascript regex ant のリファレンスです。これはチュートリアルです。私はあなたの幸運を祈ります :)

ところで、何も学びたくない場合は、wordpress や tumblr などの使用を検討する必要があります。

于 2012-11-13T16:55:20.977 に答える