Php 基于url模式的菜单高亮显示
我有一个侧边栏菜单,如果在一个类别中找到一个特定的标签,它就会被创建。比如说 苹果 橘子 单击时,URL模式如下所示:Php 基于url模式的菜单高亮显示,php,jquery,Php,Jquery,我有一个侧边栏菜单,如果在一个类别中找到一个特定的标签,它就会被创建。比如说 苹果 橘子 单击时,URL模式如下所示: <?php if ( $term->slug == 'apples' ) {?> <section class="item"> <h4><a href="<?php $category_id = get_query_var('cat'); echo get_category_l
<?php if ( $term->slug == 'apples' ) {?>
<section class="item">
<h4><a href="<?php $category_id = get_query_var('cat');
echo get_category_link( $category_id );?>?tag=apples"> Apples</a>
</h4></section>
<?php } if ( $term->slug == 'oranges') {?>
<section class="item">
<h4><a href="<?php $category_id = get_query_var('cat');
echo get_category_link( $category_id );?>?tag=oranges"> Oranges</a>
</h4></section>
<? } ?>
<?php } } ?>
/类别/?标签=苹果
呈现菜单的代码如下所示:
<?php if ( $term->slug == 'apples' ) {?>
<section class="item">
<h4><a href="<?php $category_id = get_query_var('cat');
echo get_category_link( $category_id );?>?tag=apples"> Apples</a>
</h4></section>
<?php } if ( $term->slug == 'oranges') {?>
<section class="item">
<h4><a href="<?php $category_id = get_query_var('cat');
echo get_category_link( $category_id );?>?tag=oranges"> Oranges</a>
</h4></section>
<? } ?>
<?php } } ?>
当红色背景是活动URL模式时,我很难突出显示红色背景的苹果,橙色背景的橙子也是如此
我已经尝试过各种jqueryfiddle示例,它们在fiddle上运行得非常好,但在实现它们时却没有。大多数用于静态html页面,这样做更容易。这可能是您应该放在循环中的内容,但Apple部分的示例如下:
请注意,我已向section元素添加了一个活动类,以便您可以对该类或其子类进行不同的样式设置。为什么不验证$\u GET变量,然后突出显示活动URL
if ($_GET['tag'] == 'apples')
echo ''; //Highlight : ON, with CSS
else
echo ''; //Highlight : OFF
橙子也是如此。因为您用jQuery标记了它,所以您可以在客户端解决它:
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" :
decodeURIComponent(results[1].replace(/\+/g, " "));
}
$(function(){
var tag = getParameterByName('tag');
if(tag){
$('h4').filter(function(){
return $(this).text().toLowerCase() === tag;
}).css({ color: 'red' });
}
});
尽管我建议您使用PHP直接在服务器上解决它。只是另一种选择。谢谢,我设法用它做了一些工作。我现在只需要添加一个单词数组,而不仅仅是“苹果”,这样就可以列出所有单词了。例如:=='apples'、'oranges'等。您可以尝试使用php的in_数组函数,请参见此处: