使用浏览器的后退按钮时,如何使用toggleClass()保持类的应用?

时间:2013-08-20 21:51:33

标签: jquery back-button toggleclass

单击按钮时,我正在使用jQuery toggleClass向DIV添加类。添加类后,DIV将展开以显示DIV中height:auto;的所有内容。

当我点击链接将我带到另一个页面,然后点击浏览器后退按钮时,我的问题就出现了。当我返回原始页面时,不再应用该类。有没有办法在整个人的访问中保持该类的应用,即使他们访问另一个页面然后点击后退按钮?

2 个答案:

答案 0 :(得分:0)

是的,您可以将切换状态存储在cookie中。例如,有一个jquery插件calles jquery cookie:https://github.com/carhartl/jquery-cookie页面加载后,您可以添加或删除cookie中所述的类。

答案 1 :(得分:0)

这对我有用:有一个cookie来保持按钮按下状态,并且有一个cookie来跟踪按钮实际按下了(对于多个按钮,还要检查按下哪个按钮)



var buttonpack;

$(function(){
	if( ($.cookie("ButtonPressedState") == 1) && ($.cookie("buttonCookie")=="buttonpack")) {
		 $('#'+$.cookie("buttonpack")).toggleClass("inputbutton:active active");
							} else {
 		  $(this).siblings().removeClass('inputbutton:active active');
									}

$('.inputbutton').click(function () {
					$(this).toggleClass("inputbutton:active active");
					$(this).siblings().removeClass('inputbutton:active active');
						 ButtonId = $(this).attr('id'); 
						if(($('.inputbutton')).hasClass("inputbutton:active active")){
							buttonpack=$(this).attr('id');

							$.cookie("ButtonPressedState", 1, {expires: 1, path:'/'});
							$.cookie("buttonId", buttonpack, {expires: 1, path:'/'});	
						}else{
							$.cookie("ButtonPressedState", 0, {expires: 1, path:'/'});
							$.cookie("buttonpack", null, {expires: 1, path:'/'});
							buttonpack=null;
								}
					
				});
	});