2015-02-23 91 views
0

Iam試圖實現一個非常簡單的事情,但沒有成功。我有一個asp.net網站,並有一個母版頁與兩個子頁面。母版頁上的這些子頁面有兩個選項卡。並且默認情況下選擇了一個,這一點工作正常。當我點擊第二個選項卡它選擇成功與我有下面的代碼,但立即頁面刷新,並再次選擇第一個默認選項卡(每當頁面刷新)。我也使用event.preventDefault(),但它不起作用。突出顯示頁面刷新的asp.net母版頁中的選定標籤

所以我的問題很簡單,即如何突出顯示選定的選項卡,當我點擊它時,即使是頁面刷新,謝謝。

請查看下面的代碼: -

<style type="text/css"> 
       #header #toplevel-bar li.current { 
       padding: 8px 7px 8px 7px; 
       background-image: url("/include/images/button_back.jpg"); 
       border-radius: 5px 5px 0px 0px; 
       color: white; 
       text-decoration: none; 
      } 
</style> 

<script type="text/javascript"> 

    $(document).ready(function() { 
     $("#header #toplevel-bar ul li").click(function (event) { 
      //event.preventDefault(); 
      $("#header #toplevel-bar ul li").removeClass("current"); 
      $(this).addClass("current") 
     }) 
    }) 

</script> 

<div id="toplevel-bar"> 

     <ul> 
      <li class="current"><a href="Default.aspx">Home</a></li> 
      <li><a href="products.aspx">Products</a></li> 
      <li><a href="Default.aspx">Services</a></li> 
     </ul> 

</div> 

回答

0

由於您的頁面刷新爲你點擊一個鏈接,你不能在一個類添加到it.Try檢查URL和匹配它的一套可用的菜單。像這樣的東西可能會幫助你..

 var href = window.location.href; 
     var lastSegment = href.substr(href.lastIndexOf('/') + 1); 
     $("ul > li a[href$='" + lastSegment + "']").addClass("current"); 
+0

這段代碼(var href = window.location.href)給上一頁不是當前點擊的位置。那麼我怎樣才能得到當前頁面上的標籤點擊,謝謝。 – user3004110 2015-02-23 12:31:52

+0

我也使用過這個(var tab = $(this).attr(「href」),但它給出了未定義的錯誤,請幫助我獲得點擊標籤或網址。 – user3004110 2015-02-23 12:33:11

+0

請回復,我試過並搜索了很多,但沒有結果...... – user3004110 2015-02-23 13:53:53

相關問題