在二开源码中遇到一个问题,点击进行页面的跳转,但是添加的class并没有成功。只是在当前的页面触发生效,进入到新的页面就会失效。经过不断的查阅,终于找到了一个完美的方法,使用url传参数,然后根据参数判断是否有必要显示class。二话不说,直接上代码。
html前段代码片段:
<ul class="right tab-li">
<li class="active left" id="navIndex"><a href="__ROOT__/">首页</a></li>
<li class="left" id="navLottery"><a href="{:U('Index/lottery')}">彩购大厅</a></li>
<li class="left" id="navZRVideo"><a href="{:U('Index/zrvideo')}">真人视讯</a></li>
<li class="left" id="navActivity"><a href="{:U('Activity/index')}">活动中心</a></li>
<li class="left" id="navMobile"><a href="{:U('Index/mobile')}">手机购彩</a></li>
<li class="left" id="navSecurityCenter"><a href="{:U('Member/index')}">我的帐号</a></li>
<li class="left" id="navHelp"><a href="{:U('News/lists',array('catid'=>33))}">帮助指南</a></li>
</ul>
JS代码片段:
<script type="text/javascript">
$(function(){
$(".tab-li li").click(function() {
$(this).siblings('li').removeClass('active'); // 删除其他兄弟元素的样式
$(this).addClass('active'); // 添加当前元素的样式
});
});
$(document).ready(function(){
$(".tab-li li a").each(function(){
$this = $(this);
if($this[0].href==String(window.location)){
$(".tab-li li").removeClass("active");
$this.parent().addClass("active"); //active表示被选中效果的类名
}
});
});
</script>