通过添加活动类突出显示从中呈现它的上一页链接

时间:2017-09-13 12:04:56

标签: javascript jquery css

我想在呈现它的上一页链接上添加活动类。我的工作场景是我当前的活动页面

  

http://localhost:52791/Apartment/Home

从此页面我创建了链接为

的详细信息页面
  

http://localhost:52791/Apartment/Details

除了浏览器URL部分之外,

详细页面链接不会显示在任何地方,因此我想在主页链接上添加活动类以突出显示该页面。

感谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,首先要突出显示上一页链接,你应该通过

获取上一页的网址
var previouspage = document.referrer;

并应用条件在上一页元素上添加活动类。 这里我的javascript代码将完全说明......

$(function () {
    debugger;
    var index = 0;
    var url = window.location.pathname;
    var activePage = url.substring(url.lastIndexOf('/') + 1);
    var previousPage = document.referrer.substring(document.referrer.lastIndexOf('/') + 1);
    var previousPageUrl = document.referrer.substring(document.referrer.indexOf('/') + 17);
    var activepageoffset = url.substring(url.indexOf('/') + 11,url.lastIndexOf('/'));
    if (activepageoffset == "UserInfo" || activepageoffset == "Detail")
    {
        index = 1;
    }

   $('.sidebar-menu li a').each(function () 
    {
        var currentPage = this.href.substring(this.href.lastIndexOf('/') + 1);
        if (currentPage == activePage) 
        {
            if ($('.sidebar-menu li').hasClass('active')) 
               { $('.sidebar-menu li').removeClass('active'); }
            $(this).parent().addClass('active');
        }
        else if (index == 1) 
        {
            if (currentPage == previousPage) 
            {
                if ($('.sidebar-menu li').hasClass('active')) 
                {  $('.sidebar-menu li').removeClass('active'); }
                $('.sidebar-menu a[href="' + previousPageUrl + '"]').parent().addClass('active');
             }
            }
       });
})

在此活动页面中,为我的自定义页面设置添加了偏移,这将有助于避免检查活动页面和上一页面的匹配条件,因为当前页面的foreach循环重置值,以避免设置该活动偏移。