Avatar billede hifi4all Nybegynder
18. april 2011 - 17:05 Der er 1 kommentar

Jquery addClass - virker ikke Chrome

Hej har følgende der sætte .active css stamentet i nedenstående script via jquery (nyeste) og det virker i alle andre browsere end i Google Chrome.

Chrome vil simpelthen ikke makke ret og markere en klikket fane/ link som aktivt.

Nogen der kan hjælpe?

På forhånd tak!


$(document).ready(function () {
var hash = window.location.hash.substr(1);
var href = $('#ajaxnav li a').each(function () {
var href = $(this).attr('href');
if (hash == href.substr(0, href.length - 5)) {
var toLoad = hash + '.html #ajaxcontent';
$('#ajaxcontent').load(toLoad)
}
});

$('#ajaxnav li a').click(function () {

var toLoad = $(this).attr('href') + ' #ajaxcontent';
$('#ajaxcontent').slideUp('normal', loadContent);
$('#ajaxload').remove();
$('#ajaxnav li a').removeClass('active'); // Mark all as inactive
$('#ajaxwrapper').append('<span id="ajaxload">Henter indhold...</span>');
$('#ajaxload').fadeIn('normal');
window.location.hash = $(this).attr('href').substr(0, $(this).attr('href').length - 5);
function loadContent() {
    $('#ajaxcontent').load(toLoad, '', showNewContent())
}
function showNewContent() {
    $('#ajaxcontent').slideDown('normal', hideLoader());
    $('#ajaxnav li a').addClass('active'); // Mark link as active
    $('#ajaxnav li a').removeClass('selected'); // Mark all as inactive

}
function hideLoader() {
    $('#ajaxload').fadeOut('normal');

}
return false;
});
});
Avatar billede heinzdmx Nybegynder
18. april 2011 - 17:48 #1
Jeg tvivler på at det vil have en gavnlig effekt, men dine funktion's kan du jo ligge uden for din .click metode.

Desuden mener jeg at .load med en callback så skal callback funktionen ikke have paranteser på.

Dvs. f.eks.: .load(toLoad, showNewContent);

Alternativt kan du jo lave de 3 funktioner til en samlet function()

Altså:

.load(toLoad, function() {  det samlede indhold });

Desuden kan jeg se at du bruger:
    $('#ajaxload').remove();

Dette vil fjerne elementet hvilket umuligør at bruge

$('#ajaxload').fadeIn('normal');

Da elementet jo ikke længere eksistere.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester