1. 程式人生 > >ACE側邊欄刷新自動展開之前的選擇

ACE側邊欄刷新自動展開之前的選擇

刷新 其他 att ace blog 兩個 hat 原因 ren

在body下面加上

<script type="text/javascript">
        $(document).ready(function(){
            var url = document.location.href;            
            var index1 = url.lastIndexOf(‘/‘);
            var page_name = url.substring(index1 + 1, url.length);
            var a_l = $(‘a‘);
            a_l.each(
function () { var that = $(this); var url2 = that.attr(‘href‘); var index2 = url2.lastIndexOf(‘/‘); var page_name2 = url2.substring(index2 + 1, url2.length); if (page_name == page_name2) { $(this).parent().addClass(‘active‘); $(
this).parent().parent().parent().addClass(‘open‘); } }); }); </script>

這段是從別人那抄過來的,用的時候發現兩個問題

1、頁面不能同名,比如都叫Index的就會一起被選中

2、如果頁面中的href屬性存在其他內容,比如js方法,一些針對string類型的方法就會報錯,比如lastIndexOf(),這種可以把url強制轉換成string類型,有兩種方法:

  a.toString()我用的時候有問題, 當時情況有比較緊急,沒有查原因,用了第二種方法;

  b.(“” + string)

ACE側邊欄刷新自動展開之前的選擇