CSS изменения jQuery возвращаются к оригиналу! - PullRequest
1 голос
/ 20 мая 2011

Я настроил навигацию с вкладками на моей главной странице ASP.NET.Это довольно просто:

    <div id="nav_tabs">
        <div id="home" class="tab selected_tab "><a href="Default.aspx" onclick="tabSwitch('home');">Home</a></div>
        <div id="products" class="tab other_tab "><a href="ProductList.aspx" onclick="tabSwitch('products');">Products</a></div>
        <div id="demos" class="tab other_tab "><a href="Demos.aspx" onclick="tabSwitch('demos');">Demos</a></div>
    </div>

И я использую следующий jQuery для установки текущей вкладки:

  <script type="text/javascript" >
      function tabSwitch(tab) {
          $('.tab').css("background-image", "url('/Images/other_Tab.png')");
          $("#" + tab).css("background-image", "url('/Images/Active_Tab.png')");
      }
  </script>

По какой-то причине, когда я нажимаю на одну из вкладок, изменениякратко показано, но затем они возвращаются к своему первоначальному состоянию.Это побочный эффект MasterPage?Я что-то не так делаю?

1 Ответ

2 голосов
/ 20 мая 2011

Ну, проблема в том, что после изменений в jQuery происходит перезагрузка css-страницы.И, конечно, элементы возвращаются в исходное состояние.

Мастер-страница - это просто удобный способ создания страниц, а не набор фреймов.Таким образом, вам нужно либо внедрить изменения стиля на стороне сервера, либо как-то сохранить их (например, сохранить # вкладки в куки и обновлять css при каждой перезагрузке на основе этого куки).Я думаю, что в вашем случае метод на стороне сервера лучше.

...