Jag har en meny som laddar in olika divar beroende på vad som klickas på. Varje menyelement består av en bild som är vanliga läget (a) och en som ligger gömd inuti a som är hoverläget (span). Hovern funkar, men jag skulle vilja att om det aktuella menyobjektets li har klassen "active" så ska den dolda menybilden vara den aktiva. Utöver detta skulle jag vilja att om man sedan hovrar över en av de inaktiva menyobjekten så ska den hovra upp och den aktiva tillfälligt hovra ner. Om man inte klickar på den inaktiva som man hovrade över och sedan går av den så ska den aktiva lysa upp igen.
function contentSwitcher(settings){
var settings = {
contentClass : '.content',
navigationId : '#access'
};
//Hide all of the content except the first one on the nav
$(settings.contentClass).not(':first').hide();
$(settings.navigationId).find('li:first').addClass('active');
//onClick set the active state,
//hide the content panels and show the correct one
$(settings.navigationId).find('a').click(function(e){
var contentToShow = $(this).attr('href');
contentToShow = $(contentToShow);
//dissable normal link behaviour
e.preventDefault();
//set the proper active class for active state css
$(settings.navigationId).find('li').removeClass('active');
$(this).parent('li').addClass('active');
//hide the old content and show the new
$(settings.contentClass).fadeOut(500);
contentToShow.delay(500).fadeIn(1000);
});
}
contentSwitcher();
Som ni ser sätts .active på den li som är aktiv, men hur får jag det att jobba ihop med min hoverkod ovan?
Fullösning eller icke, för mig räknas det om det funkar :birp
$("header a")
.find("span")
.hide()
.end()
.hover(function() {
$(this).parent('.inactive').find("span").stop(true, true).fadeIn();
$('header a').not(this).parent('.active').find("span").stop(true, true).fadeOut();
}, function() {
$(this).parent('.inactive').find("span").stop(true, true).fadeOut();
$('header a').not(this).parent('.active').find("span").stop(true, true).fadeIn();
});
function contentSwitcher(settings){
var settings = {
contentClass : '.content',
navigationId : '#access'
};
//Hide all of the content except the first one on the nav
$(settings.contentClass).not(':first').hide();
//$(settings.navigationId).find('li:first').addClass('active');
//onClick set the active state,
//hide the content panels and show the correct one
$(settings.navigationId).find('a').click(function(e){
var contentToShow = $(this).attr('href');
contentToShow = $(contentToShow);
//dissable normal link behaviour
e.preventDefault();
//set the proper active class for active state css
$(settings.navigationId).find('li').removeClass('active').addClass('inactive');
$(this).parent('li').removeClass('inactive').addClass('active');
//hide the old content and show the new
$(settings.contentClass).fadeOut(500);
contentToShow.delay(500).fadeIn(1000);
});
}
contentSwitcher();
256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25