2015-05-10 72 views
0

我使用JQuery函数通过使用萤火虫检查来添加HTML链接元素中的删除类JQuery实际上添加了类,然后立即删除。 有人知道为什么吗? here is fiddleJQuery在添加后立即删除类

[1]: http://jsfiddle.net/aqeelpld/7yydg1nt/2/ 

watch this on youtube

+0

工作正常,我在Firefox 37浏览器是什么您使用的? – Xufox

+0

你正在尝试做什么不是这种方式。您需要使用PHP或检查您所在的URL并将其与锚标记中的链接进行比较。 – putvande

+0

在所有浏览器中,Firefox 37.0.2,Chrome 42.0.2311和IE 11.0.9600都存在同样的问题! –

回答

0

看起来你的链接重新加载页面。如果您使用的是jQuery,请将href更改为“#”以阻止其重新加载index.html。如果您必须链接到另一个PHP页面,那么您应该检查您在PHP中的哪个页面,并在页面加载时在那里添加'active'类。通过PHP ...

<?php 
$uri = $_SERVER('REQUEST_URI'); 
$class = 'nonactive'; 
if ($uri=='/index.php') $class = 'active'; 
echo '<a href="..." class="'.$class.'">...</a>' 
$class = 'nonactive'; 
if ($uri=='/nexUri.php') $class = 'active'; 
echo '<a href="..." class="'.$class.'">...</a>' 
$class = 'nonactive'; 
?> 

...通过jQuery ...

$(document).ready(function() { 
    if ($(location).attr('href')=='/index.php') 
     $('#indexLinkId').addClass('active'); 
    else if ($(location).attr('href')=='/nextUri.php') 
     $('#nextUriLinkId').addClass('active'); 
}); 

http://jsfiddle.net/7yydg1nt/3/

+0

感谢您的回复,是的它的作品,但你知道这是nat解决方案!这有什么错,有什么建议吗? –

+1

什么是错误的是你链接到一个页面,因此该页面正在重新加载。当页面重新加载时,你会失去更新的类,就像刷新页面一样。你在寻找什么解决方案? –

+0

我想打开并保持页面在同一窗口中,同时点击链接仍然是独一无二的(正如我在css类中所描述的那样)。请记住,我使用这个导航动态跨越不同的页面与PHP。 –