Search This Blog

Thursday, January 9, 2014

Set menu active class dynamically by jquery

Set menu active class dynamically by jquery


We want to set  class=”active” dynamically to menu by jquery

<script type="text/javascript">

        $(document).ready(function () {

            var url = window.location.pathname;
            var activePage = url.substring(url.lastIndexOf('/') + 1);

            //For Main Menu

            $('#menu > li > a').each(function () {
                var currentPage = this.href.substring(this.href.lastIndexOf('/') + 1);

                if (activePage == currentPage) {
                    $(this).addClass('active');
                }
            });

            //For Inner Menu

            $('#menu > li ').each(function () {

                $('#menu > li > ul > li > a ').each(function () {
                    var currentPage = this.href.substring(this.href.lastIndexOf('/') + 1);
                    if (activePage == currentPage) {
                        $(this).addClass('active');
                        $(this).parent().parent().parent().children().addClass('active');
                    }
                });

            });
</script>

HTML Menu
<ul id="menu">
        <li><a href="”user.aspx”">Users</a>
            <ul>
                <li><a href=" user.aspx">Normal Users</a></li>
                <li><a href=" adminuser.aspx.aspx">Admin Users</a></li>
            </ul>
        </li>
        <li><a href="Products.aspx">Product</a>
            <ul>
                <li><a href="Products.aspx">Products</a></li>
                <li><a href="ProductCategory.aspx">Product Category</a></li>
            </ul>
        </li>
        <li><a href="ManagePurchaseOrders.aspx">Order
            </a></li>
        <li><a href="ManageBackOrders.aspx">BackOrder
            </a></li>
    </ul>



No comments: