array functie werkt niet in Internet Explorer

Status
Niet open voor verdere reacties.

ananaz

Gebruiker
Lid geworden
15 feb 2010
Berichten
12
Hallo,

Ik heb een hopelijk korte vraag waar ik niet uit kom. Voor mijn site ben ik een nogal ingewikkelde functie aan het maken (althans, voor mij dan, aangezien ik nog nooit wat met javascript en jquery gedaan heb). Hiervoor moet ik bekijken of bepaalde categorieën al geselecteerd (aangevinkt) zijn of niet. Na lang puzzelen is het eindelijk gelukt, in Firefox en Chrome werkt het prima. Maar toen ging ik hem testen in Internet Explorer en natuurlijk werkt het daar weer eens niet ...

Mijn kennis van javascript is zo minimaal dat ik niet weet hoe ik dit op moet lossen. Ik denk dat IE de array functie of de split functie niet pakt want daar hapert ie al op. In FF kan ik dus op de div klikken en dan schuift ie open, maar in IE kan ik niet klikken.

Dus ... HELP!!
Dit is de code, ik hoop dat iemand hier fouten in kan vinden die mogelijk de oplossing geven:

[JS]
$("a.divlink").click(
function() {
var link = $(this).attr("href");
var array = link.split("#");

var arr1 = array[1];
var arr2 = array[2];
var arr3 = array[3];
var arr4 = array[4];

if((arr1 == 0) || currentCategories.indexOf(arr1) != -1) {
return;
} else if((arr2 == 0) || currentCategories.indexOf(arr2) != -1) {
return;
} else if((arr3 == 0) || currentCategories.indexOf(arr3) != -1) {
return;
} else if((arr4 == 0) || currentCategories.indexOf(arr4) != -1) {
return;
} else {
var category = array[1];
if (category != 0) {
slideOut (category);
}

var category = array[2];
if (category != 0) {
slideOut (category);
}

var category = array[3];
if (category != 0) {
slideOut (category);
}

var category = array[4];
if (category != 0) {
slideOut (category);
}
}
}
);
[/JS]

Oh ja en de rede dat ik onderaan het script de var category steeds opnieuw definieer is omdat ik een functie heb geschreven die "slideOut(category)" heet en daar zitten dus allerlei acties aan gekoppeld.
 
Laatst bewerkt:
Hoi ananaz,
Hé, zitten er in de href="..." van een link dan méér dan één #?

Zo nee, dan zijn er maar 2 split-gedeeltes: het stuk vóór de # en het stuk na de #.
Als ik dit in de Try-it-yourself Split-pagina van w3schools plak:
[JS]<script type="text/javascript">

var link="page#category";
var array = link.split("#");

var arr1 = array[0];
var arr2 = array[1];
var arr3 = array[2];
var arr4 = array[3];

document.write(arr1 + "<br />");
document.write(arr2 + "<br />");
document.write(arr3 + "<br />");
document.write(arr4 + "<br />");
document.write('klaar');

</script>[/JS]
dan is dit het antwoord:
page
category
undefined
undefined
klaar
En dat klopt: na het tweede split-gedeelte is er niets meer.
Heb je een voorbeeld van hoe jouw aan te klikken links er precies uitzien?

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Hey bedankt voor je antwoord!

Ja, er zitten meerdere #tags achter elkaar. Totaal onlogisch, maar ik heb m'n classes al ergens anders voor gebruikt en moest dus een manier vinden om m'n categorieën nog aan de link te koppelen. De link wordt verder alleen gebruikt in de jquery en is geen ref opzich.

Maar inmiddels ben ik achter het probleem, en het is iets heel stoms. In de css had ik m'n div transparancy gegeven en blijkbaar is de div in IE dan niet meer klikbaar. Dus nu heb ik dat in opacity 0 veranderd en doet ie het eindelijk.
Sorry ik hoop niet dat je er lang mee bezig was!
 
Hoi ananaz,
Ja, er zitten meerdere #tags achter elkaar (...)
Mooi, dan is dat dus niet het probleem.
=====
inmiddels ben ik achter het probleem
Nog mooier! :thumb:
=====
Sorry ik hoop niet dat je er lang mee bezig was!
Nee hoor, ik had alleen niet het vermoeden dat ook hier de css een rol zou spelen; ik had ook nog niet de css gezien (zou m'n volgende vraag zijn).
IE komt toch altijd weer onverwachts uit de hoek zetten! ;)
  • Voor dit soort dingen kan trouwens een tijdelijk bordertje of background-kleurtje wel eens van pas komen bij de diagnose. Een (permanent) transparant background-gifje had het probleem wellicht ook opgelost, daar houdt IE nogal van.
Groetjes,
CSShunter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan