Javascript 如何在页面重新加载jquery后显示div和当前活动链接

Javascript 如何在页面重新加载jquery后显示div和当前活动链接,javascript,php,jquery,html,magento,Javascript,Php,Jquery,Html,Magento,我想显示一个div和一个在页面重新加载后被点击的链接。最初,类active被调用到第一个link,div被隐藏 我检查了我能想到的一切,但没有得到解决方案,因为我的代码在重新加载页面后无法工作 请参阅html和jquery代码: <div class="sub-cols" style="display:none;"> <div class="wraper-berkowits"> <a class="active" href="<?php ech

我想显示一个div和一个在页面重新加载后被点击的链接。最初,类active被调用到第一个link,div被隐藏

我检查了我能想到的一切,但没有得到解决方案,因为我的代码在重新加载页面后无法工作

请参阅html和jquery代码:

<div class="sub-cols" style="display:none;">
    <div class="wraper-berkowits">
    <a class="active" href="<?php echo Mage::getBaseUrl() ?>products-for-sale/attachments.html">Attachments</a>
    <a href="<?php echo Mage::getBaseUrl() ?>products-for-sale/removal.html">Removal</a></li>
    <a href="<?php echo Mage::getBaseUrl() ?>products-for-sale/hair-loss-store.html">Hair Loss</a></li>
    <a href="<?php echo Mage::getBaseUrl() ?>products-for-sale/care-maintenance.html">Care &amp; maintenance </a>
    </div>
</div>


jQuery(document).ready(function() {
    jQuery('.menu:first-child').addClass('first'); 

    jQuery('li.last a').click(function() {  
        jQuery('.sub-cols').show();
        return false;
    }); 

    jQuery(".sub-cols a").click(function () {        
        jQuery(this).addClass('active').siblings().removeClass('active'); 

    });
});



jQuery(文档).ready(函数(){
jQuery('.menu:first child').addClass('first');
jQuery('li.last a')。单击(函数(){
jQuery('.sub cols').show();
返回false;
}); 
jQuery(“.subcols a”)。单击(函数(){
jQuery(this).addClass('active').sides().removeClass('active');
});
});

请检查以上代码,并建议我如何获得所需的结果。

根据您的评论,现在可以更好地理解这个问题了 因为您需要的是即使在重新加载页面后也恢复链接的状态。 我可以为你提供实现这一目标的暗示

有两种方法- 1) 您可以在php中使用$\会话来存储单击的链接,并可以使用jquery显示该链接

2) 仅使用javascript- 使用window.localStorage–存储没有过期日期的数据

当需要设置应在下一页中反映的变量时,请使用:

在您的代码中,您可以执行以下操作

jQuery(".sub-cols a").click(function () {
        localStorage.setItem("someVarName", jQuery(this).text());
        jQuery(this).addClass('active').siblings().removeClass('active');
    });
    jQuery(".sub-cols").show();
在任何页面中(如加载页面时),获得如下内容:

var someVarName = localStorage.getItem("someVarName");
.getItem()
将返回
null
或存储的值

对于你的例子,你可以这样使用

if(localStorage.getItem("someVarName")!=null){
        $('a').filter(function(){
                return this.innerHTML == localStorage.getItem("someVarName"); 
            }).css({background:"#F00"});
    }
我提供了一个更新的演示-
要测试它,请单击任何链接,然后重新加载页面。即使在重新加载页面后,您也会在单击的链接上看到背景色。

但最初div不会显示,子菜单也不会显示。当我单击“第一个子菜单”时,所有子菜单都会显示,当我单击任何子菜单时,该链接将激活,div也会显示……但现在,最初的链接显示为“活动”以及根据您的代码显示块..请查看我的代码carefully@Prince-您提供的代码似乎不完整,因为没有带有类“menu”的div,而jquery代码使用它。你能提供一个演示像一个有到什么有它的工作。这将有助于提供一个解决方案,实际上它是一个默认的magento代码,其中topmenu来自此,当我单击最后一个topmenu时,此div将显示我在上面给出的块,然后当我单击任何子菜单时,然后在重定向的页面中,我希望这个div显示block,并希望将类active添加到单击的子菜单中…………我希望现在您已经cleared@Prince-检查我的更新答案和更新的演示链接-要测试它,请单击任何链接,然后重新加载页面。即使在重新加载页面后,您也会在单击的链接上看到背景色。第一次div应该隐藏,但在第一次显示时也会显示
if(localStorage.getItem("someVarName")!=null){
        $('a').filter(function(){
                return this.innerHTML == localStorage.getItem("someVarName"); 
            }).css({background:"#F00"});
    }