2014-07-23 2 views
0

JQuery 아코디언 메뉴를 탐색에 사용하는 MVC 프로젝트가 있습니다. Jquery 아코디언 메뉴 - 새 페이지를 탐색 할 때 열어 두십시오.

$(document).ready(function() { 


    //ACCORDION BUTTON ACTION 

    $('div.accordionButton').click(function() { 

     //IF THE DIV YOU CLICKED IS ALREADY OPEN, CLOSE AND REMOVE THE OPEN CLASS 

     if ($(this).next().hasClass('openDiv')) { 

      $('div.accordionContent.openDiv').slideUp('normal'); 

      $('div.accordionContent.openDiv').removeClass('openDiv'); 

     } 

      //CLOSE ANY OPEN DIVS, OPEN THE CLICKED DIV 

     else { 

      $('div.accordionContent.openDiv').slideUp('normal'); 

      $('div.accordionContent.openDiv').removeClass('openDiv'); 

      $(this).next().slideDown('normal'); 

      $(this).next().addClass('openDiv'); 

     } 

    }); 

    //HIDE THE DIVS ON PAGE LOAD 

    $("div.accordionContent").hide(); 

}); 

- 그것은 다음 페이지로

jQuery를 탐색 할 때 내가 링크 중 하나를 클릭하면 있도록 메뉴를 수정하려면 어떤 방법이 있는지 궁금하고, 메뉴가 열려

HTML -

@foreach (var sport in Model.SportTypesList) 
    { 
     <div id="wrapper"> 
      <div class="accordionButton">@sport.ToString()</div> 
      <div class="accordionContent"> 
       @foreach (var coupon in Model.CurrentCoupons()) 
       { 
        if (coupon.SportID.ToString().Equals(sport.ToString())) 
        { 
         <div id="bullets">></div> 
         @Ajax.ActionLink(@coupon.CouponName, "Index", "Home", new { couponName = coupon.CouponName, sportName = coupon.SportID.ToString() }, new AjaxOptions 
         { 
          UpdateTargetId = "coupons", 
          InsertionMode = InsertionMode.Replace, 
          HttpMethod = "GET" 
         }) 
         <br /> 
        } 
       } 
      </div> 
     </div> 
    } 
+1

다양한 상태 저장 솔루션을 살펴볼 수 있습니다. 1. 서버를 통해 2. localStorage를 통해 쿠키 3을 통해. 각각의 구현은 약간 다릅니다. 1을 사용하면 클래스 또는 자바 스크립트 변수를 새 페이지로드시 읽을 수 있고 작동하도록 설정해야합니다. 2 및 3을 사용하면 쿠키/저장소를 쿼리하고 새 페이지로드에 대해 조치를 취해야합니다. –

답변

0

당신은 세션에서 사용자가 선택한 탭의 ID를 넣고 거기에서 단지 ID를 확인하고 탭을 열어 둘 수 있습니다. 하나의 쉬운 솔루션.

관련 문제