0

我的网页中有一个数据列表,可以在其上动态加载超链接。单击超链接时,将在同一页面上加载相应的内容 由于加载内容是在页面刷新后发生的,因此突出显示单击的超链接是一项挑战。

我想通过突出显示用户单击的超链接来向用户显示他们正在阅读的内容。

我使用 css 尝试过,但由于有页面刷新来加载内容,它没有维护突出显示的颜色。

我怎样才能做到这一点?

4

1 回答 1

1

如果您触发了整页刷新,您将失去当前加载页面的状态。有几个选项可以归结为:1.)当用户点击时不刷新页面,2.)保存状态。

选项1

当用户点击链接时不要触发页面刷新。相反,通过 AJAX 调用从服务器获取内容。

例如,如果您使用 jQuery 作为 AJAX 库,您可以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 回答