通過jquery選擇li菜單實現無重新整理css效果

來源:互聯網
上載者:User

需求:

一個頁面, 左邊為功能表列, 右邊為一個iframe,通過點擊左邊的菜單,iframe載入對應的頁面.同時對選中的菜單添加css選擇效果

 

代碼

    <div id="leftmenu" class="menu">
        <ul style="overflow: visible;" id="menu_index">
         <li><a target="main" hidefocus="true" href="main.html" class="selected">管理中心首頁</a></li>
         <li><a target="main" hidefocus="true" href="list.html" class="">列表顯示</a></li>
         <li><a target="main" hidefocus="true" href="" class="">商品管理</a></li>
         <li><a target="main" hidefocus="true" href="" class="">公告管理</a></li>
        </ul>
       <ul style="display:none" id="menu_global">
         <li><a target="main" hidefocus="true" href="form1.html">表單控制項1</a></li>
         <li><a target="main" hidefocus="true" href="form1.html">表單控制項2</a></li>
      </ul>
    </div>

 

 

選中管理中心首頁後對a標價添加名為selected的css, 選中其他項則為該項添加該css, 同時移除其他菜單的selected css, 本來可以通過對li或者a添加id來實現, 然後對a添加click事件很簡單就可以實現, 但是如果是菜單不固定, 或者菜單太多相對來說就會比較麻煩.但是要是硬是這樣實現, 由於很久沒接觸jquery了, 所以可能是我跟不上時代了,呵呵,搞了半天, 以下為實現代碼, 在載入時綁定.

 

    $(function(){
        $('#leftmenu a').click(function(){
            $('#leftmenu a').each(function() {
                $(this).removeClass('tabon');
            });
            $(this).addClass('tabon');
        });
    })

 

 

我糾結在了第一句, 每次都想each, 結果把我each進去了, 然後發現可以直接對$('#leftmenu a') click(囧), 遍曆刪除目前的css, 然後對click項添加css就OK了. 嗨, 鬱悶.

 

 

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.