2016-04-28 48 views
0

我的主頁上我將CSS應用於accordion面板中的選定鏈接。但是,一旦我點擊按鈕頁面刷新,我失去了我的CSS。無論如何,我們仍然可以在頁面刷新後保持課程在所選鏈接上的應用(或突出顯示所選鏈接)?如何在頁面刷新後使用jquery應用CSS(在刷新之前分配CSS)

$(document).ready(function() { 
      $('#accordian li').click(function() { 
       var href = $(this).addClass("active1").children("a").attr("href"); 
      }); 
}); 
+0

您可以只更改頁面的某些部分或使用localStorage。 – Ciprianis

+0

我需要在asp.net mvc母版頁中實現此功能。 – user300485

回答

2

試試這個

$(document).ready(function() { 
var key = 'clickedHref'; 
     $("#clearButton").click(function() { 
     localStorage.setItem(key, null); 
     }); 

     $('#accordian li').click(function() { 
    $("#accordian li").removeClass("active1"); 
     var href = $(this).addClass("active1").children("a").attr("href"); 
     localStorage.setItem(key, href); 
     }); 

     var clickedHref = localStorage.getItem(key); 
     if (clickedHref !== null) { 
     var a = $('#accordian li a[href="' + clickedHref + '"]'); 
     if (a.length) { 
      a.trigger("click"); 
     } 
     } 
    }); 

CSS:

.active1 a{ 
    font-weight:bold; 
} 

HTML:

<ul id="accordian"> 
    <li> 
     <a href="?a=1">a1</a> 
    </li> 
    <li> 
     <a href="?a=2">a2</a> 
    </li> 
</ul> 
<button id='clearButton'>clear</button> 

http://codepen.io/anon/pen/vGVjjP

+0

謝謝。頁面刷新後我得到undefined。 – user300485

+0

我創建了一個Codepen,它在那裏工作。 –

-1

使用「preventDefault()」不能解決你的情況?

$('#accordian li').click(function(e) { 
e.preventDefault(); 
var href = $(this).addClass("active1").children("a").attr("href"); 
});