1

わかりました、これは私の問題です...私は2ページあります。最初のページには、境界線スタイルを適用するヘッダー(h2)要素があります。2ページ目には、リンクが1つだけあります。h22番目のページからのリンクをクリックすると、最初のページに移動するために、タグの周りの最初のページに境界線が作成されます。

これを行う方法について何か考えはありますか?通常のJavaScriptまたはjQueryでそれを行うことは可能ですか?

ありがとう!

4

4 に答える 4

1

いいえ、JavaScriptはクライアント側であり、このためには、おそらくデータベースまたはセッション変数にこれを記録することにより、リンクがクリックされたかどうかをサーバーに記憶させる必要があります。

もちろん、純粋なJSをすでに使用しているページをロードするのではなく、Webサイトの従来のモデルを使用している場合はそうです。

于 2012-12-20T17:57:07.880 に答える
1

それを行うにはかなり愚かな方法ですが、クライアント側で行うことは可能です。ただし、サーバー側で実行することを強くお勧めします。

2ページで、ハッシュを使用して1ページにリンクします。

<a href="/page1#border">Go back to page one and add a border</a>

そして、1ページで、ハッシュがあるかどうかを確認します。

if (window.location.hash === '#border') {
    $('h2').addClass('withBorder');
}
于 2012-12-20T18:15:15.653 に答える
1

この種のシナリオを探している場合は、URLにハッシュを渡すことでそれを達成できると思います。

passed a hash named 'second'はで、second page urlこのスクリプトを2ページ目に配置します

$(function(){
    var url=window.location;
    var hash = url.hash.substr(1);
    if(hash == "second"){
       $('h2').css('border','solid 1px red');
    }
});

助けがあればこれをチェックしてください。

于 2012-12-20T18:19:08.670 に答える
0

JavaScriptを使用してこれを行う方法はありますが、トリッキーでサーバー側の方がはるかに簡単です。DOM全体を更新せずに別のページを読み込むには、JavaScriptを使用する必要があります。私はpjaxと呼ばれるものでこれを行います。それが機能する方法は、各ページをコンテナとして機能させ、ajaxを介して後続のすべてのページをロードすることです。ページ全体のリロードを行わないことにより、あるページで行ったスタイルの変更は他のページに引き継がれます(これは実際のブラウザーの更新に耐えられません)。

于 2012-12-20T18:00:21.807 に答える