Php 如何在页面刷新时保持.current类
我有以下脚本将当前类添加到基于Joomla的网站中的Php 如何在页面刷新时保持.current类,php,javascript,jquery,joomla,Php,Javascript,Jquery,Joomla,我有以下脚本将当前类添加到基于Joomla的网站中的: $(function(){ $("#slide-menu > li ").click(function(e){ e.preventDefault(); $("#slide-menu > li ").addClass("current").not(this).removeClass("current"); }); }); 但当我点击链接页面刷新和当前类消失 这是我的html: <ul id="sli
:
$(function(){
$("#slide-menu > li ").click(function(e){
e.preventDefault();
$("#slide-menu > li ").addClass("current").not(this).removeClass("current");
});
});
但当我点击链接页面刷新和当前类消失
这是我的html:
<ul id="slide-menu" class="menu menu-sidebar">
<li class="level1 item187">
<a class="level1" href="/plastikovye-okna-i-dveri/other/plastikovye-okna-i-dveri">
<span>Пластиковые окна</span>
</a>
</li>
<li class="level1 item188">
<a class="level1" href="/plastikovye-okna-i-dveri-2/uncategorised/okna-rehau">
<span>Входные двери</span>
</a>
</li>
</ul>
-
-
页面刷新后,它将再次加载所有内容,因此您不能保留它,但您可以使用以下三种方法之一来实现此目的:
祝你好运你可以用两种东西来储存这种东西。LocalStorage或在会话中,如果您想在客户端完全保留它,我应该使用LocalStorage 本地存储 使用localstorage可以保存currentClass。这会阻止您使用服务器端代码 举个小例子:
/* Set localStorage item */
localStorage.setItem('name', 'value');
/* Get localStorage item */
localStorage.alpha;
/* Or */
localStorage['alpha'];
在localStorge中使用is current保存类时,可以将其添加到document ready中
会话存储
另一种存储方式是在会话中。这将向您的服务器重新查询请求。最好是使用Ajax(我使用jquery库)
举个小例子:
/* Set localStorage item */
localStorage.setItem('name', 'value');
/* Get localStorage item */
localStorage.alpha;
/* Or */
localStorage['alpha'];
设置会话
检查currentClass并完成您的技巧;) 不要在单击时提供活动类,而是通过将href与菜单项答案匹配来提供。当然,当您单击链接时,会加载一个新页面,因此您不应该使用JavaScript管理它,除非您直接使用XMLHttpRequest加载页面内容。如果是另一个,你可以在你的页面模板中设置它。Rikesh非常感谢,它对我非常有效,你能写一个答案吗
/* Client side */
function getSession($key) {
$.ajax({
type: "POST",
url: "getSession.php",
data: { key: "Foo" }
}).done(function( callback ) {
return callback ;
});
}
/* Server side (PHP example) */
<?php
/* secure it your self. */
echo $_SESSION[$_POST['key']];
?>
var foo = getSession("foo");