一只特立独行的猪 一只特立独行的🐷
一只特立独行的🐷
  • 主页
  • web开发
  • 博客笔记
  • 软件工具
  • 随笔杂谈
  • 文章归档
  • 影音欣赏
  • 我的资源
  • 关于我
  • wechat_fill

【Emlog】解决pjax导致导航Curren高亮失效的问题

  • 2016-08-06
  • Web开发
  • 评论(1)
<span style="font-size:12px;line-height:2;">    模板添加了pjax之后,pjax导致导航Curren高亮失效。</span><span style="font-size:14px;"><span style="font-size:12px;line-height:2;">一直不知道怎么出现的</span><span style="font-size:12px;line-height:2;">,前段时间在emlog论坛看到有人说明了原因,并提供了解决方案。试了下,并没有什么卵用,不知道是不是我的姿势不对。</span></span> 

<span style="font-size:12px;line-height:2;">贴出原文方法:</span> 

<span style="font-size:12px;line-height:2;">mudule.php中navi的生成函数中:</span> 
$current_tab = BLOG_URL . trim(Dispatcher::setPath(), '/'); == $value['url'] ? 'class="current"' : '';
<span style="font-size:12px;line-height:2;">问题原因出现在,Pjax请求页面的时候会自动添加下面这个参数,导致这里判断不一致。</span> 
?_pjax=%23contentleft
<p>
    <br />

所以比较简单的办法就是……直接替换掉!

str_replace("?_pjax=%23contentleft","",BLOG_URL . trim(Dispatcher::setPath(), '/'));
/**说明一下str_replace()函数,接收三个参数,效果是第二个参数替换第三个参数中的第一个参数*/

  尝试了很多次,并没有什么效果,于是,想到用jq判断当前热点,控制current类应该也可以实现,尝试了下,完美解决。

$(document).ready(function(){
  $("li.item").click(function(){
    $("li.item").removeClass("current");
    $(this).addClass("current");
  });
});

其实这个方法不光是可以解决emlog,其他任何页面的导航的cuurent类都可以用这个判断,很简单的一句代码,往往却不被人注意! happy lucky!

    <span style="font-size:12px;line-height:2;"> </span> 
Powered by Wordpress, Theme by Wing-magic
©2023 一只特立独行的🐷 All rights reserved
陕ICP备15006707号-5