0

Web ページに動的にハイパーリンクをロードするデータリストがあります。ハイパーリンクをクリックすると、対応するコンテンツが同じページに読み込まれます コンテンツの読み込みはページの更新後に行われるため、クリックされたハイパーリンクを強調表示するのは困難です。

ユーザーがクリックしたハイパーリンクを強調表示して、ユーザーが読んでいるコンテンツを表示したいと考えています。

cssを使ってみたのですが、ページの更新でコンテンツを読み込むため、ハイライトされた色が維持されていません。

どうすればこれを達成できますか?

4

1 に答える 1

1

ページ全体の更新をトリガーしている場合は、現在読み込まれているページの状態が失われます。要約すると、いくつかのオプションがあります: 1.) ユーザーがクリックしたときにページを更新しない、2.) 状態を保存する。

オプション1

ユーザーがリンクをクリックしたときにページの更新をトリガーしないでください。代わりに、AJAX 呼び出しを介してサーバーからコンテンツを取得します。

たとえば、AJAX ライブラリとして jQuery を使用している場合、clickすべてのリンクにハンドラーを設定できます。いずれかがクリックされると、ハンドラーがトリガーされ、AJAX を介してコンテンツを取得し、クリックされたリンクにクラスを追加できます。CSS には、色を変えるルールを含めることができます。

$("a").click(function () {
  var clicked = $(this);
  // get the content from the server
  $.get('ajax/test.html', function(data) {
    // drop the content into the page
    $('.result').html(data);
    // flag the link as clicked
    clicked.addClass('clicked');
  });      
});

オプション #2

どのユーザーがどのリンクをクリックしたかのマッピングをサーバー上のデータベース テーブルに保存します。ページが要求され、HTML をレンダリングしているときはいつでも、クリックされたことがわかっているリンクに CSS クラスを追加して、ブラウザーがページをロードしたときに別の色で表示できるようにすることができます。

于 2012-08-06T02:06:08.697 に答える