dede使用方法---用js讓當前導航高亮顯示


      當前導航高亮顯示能夠提升用戶體驗,我也知道,大家在網上搜dede讓當前導航高亮顯示的方法一抓一大把,但是,並不一定適合自己的需求。就像我的需求一樣,導航有個二級導航,然后需要做到讓當前導航高亮顯示。我最開始用的方法是dede自帶的讓當前導航高亮顯示的方法,代碼如下,其中主要實現的代碼就是那一句currentstyle="<li 'menu_on'><a  href='~typelink~' >~typename~</a> </li>:

<div id="menu">
 <ul>
  <li {dede:field name=typeid runphp="yes"}(@me=="")? @me=" class='menu_on'":@me="";{/dede:field}><a href=" /">網站首頁</a></li>
  {dede:channel type='top' row='8' currentstyle="<li 'menu_on'><a  href='~typelink~' >~typename~</a> </li>" }
  <li><a href="[field:typelink/]">[field:typename/]</a></li>
  {/dede:channel}
 </ul>
</div>

      但是發現,我無法讓它與二級導航很好的融入到一起,當然,這可能是我自個的原因,因為我個人對php並不太熟悉,所以可能dede的二次開發牽扯到php的時候會有點阻礙。沒辦法了,只能用自己手上的工具另外殺一條路出來。想到用js的方法實現,百度方法也是一大堆,經過很多次嘗試之后,終於找到了有用的了。代碼如下:

<script type="text/javascript">  
      var myNav = document.getElementById("nav").getElementsByTagName("a");
      for(var i=0;i<myNav.length;i++){
        var links = myNav[i].getAttribute("href");
        var myURL = document.location.href;
        if(myURL.indexOf(links) != -1){
          myNav[i].className="active";
        }
      }
    </script>

      其中"active"就是你當前導航高亮顯示的樣式名。

      導航的代碼截圖如下所示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM