Я использую jquery, чтобы добавить класс к активному css на "li", а также перейти к html page.but, после того как страница перейдет к классу "Ли". Я пробовал разные способы решить эту проблему, но не мог понять.
$(document).ready(function(){
$( '#topList ul li' ).click(function() {
alert($(this).attr('id'));
if($(this).attr('id') == "add") {
document.location.href = 'localhost:8080/add';
$(this).attr('id').addClass("active");
}
});
});
вот список меню, я хочу, когда я нажимаю на li, он должен вызывать добавление страницы, а также добавлять класс на этом ли.
html-код
<ul class="nav">
<li class="" id="add"><a href="javascript:void(0);" ><i class="add"></i> Add</a> </li>
<ul>
Используйте следующий скрипт на странице, где у вас есть меню или ссылки.
<div id="cssmenu">
<a href="blah blah" > Test page</a>
<a href="blah blah" > Test page</a>
</div>
$(document).ready(function () {
var pageTitle = window.location.pathname.replace(/^.*\/([^/]*)/, "$1");
$('#cssmenu a').each(function () {
if ($(this).attr('href').toLowerCase() == pageTitle.toLocaleLowerCase())
$(this).addClass('active');
});
});
Вам нужно добавить класс для li на странице, которую вы вызываете, т.е. страница будет отображаться при вызове localhost: 8080/add. Поскольку в вашем коде настройка активного класса не будет вызвана, так как localhost: 8080/add начнет загрузку в предыдущей строке кода (document.location.href= 'localhost:8080/add';)
Если страница, которая будет отображаться, является статической страницей, добавьте этот код на эту страницу.
$(document).ready(function(){
$('#add').addClass("active");
});
Я решил эту проблему на своем веб-сайте, посмотрев URL-адрес и решив, какой из элементов навигации лучше всего добавить.
function showContent(target) {
var e = $('#'+target);
$(".content").hide();
$("#nav li.active").removeClass("active");
$("#nav li[target='"+target+"']").addClass("active");
e.toggle();
ga('send','pageview',window.location.pathname+"#"+target);
}
// this looks at the URL (by the #...) and decides which view is active
// this gets called on ready and if the client hits the link
// (which dynamically loads instead of making a trip for a new page to the server)
$(window).hashchange(function() {
var which=window.location.hash.substring(1);
switch( which) {
default:
which="profile";
case "profile":
case "resume":
case "projects":
case "contact":
showContent( which);
}
});
hover
но вы используете событиеclick
!