Har skapat en mycket enkel visa/dölj för ul, i IE räknar den rätt på antalet li i varje ul, men inte i ff.. blir hel konstigt där..
vad tror ni?! Såga mig nu vid fotknölarna :D
var eDiv = document.getElementsByTagName('div');
function newsList() {
var i;
try {
for(i=0;i<eDiv.length;i++) {
if(eDiv[i].className == 'visible') {
// dölj div-elementen som har className==visible
eDiv[i].className = 'invisible';
// skapa nytt a-element
var a = document.createElement('a');
// räkna antalet noder i ul som ligger i diven med ordningen i.
var listItems = eDiv[i].getElementsByTagName('ul')[0].childNodes.length;
// Skapa text för visa/dölj länkarna beroende på antalet nyheter (li-items)
if(listItems > 1) {
var txt = document.createTextNode('Visa alla ' + listItems + ' nyheter!');
} else {
var txt = document.createTextNode('Visa nyheten!');
}
a.setAttribute('href','javascript:expand('+i+','+listItems+');');
// Lägg till text till länken.
a.appendChild(txt);
// Lägg till den skapade länken sist i föräldertaggen.
eDiv[i].appendChild(a);
}
}
} catch(e) {
alert(e.message);
}
}
function expand(item,listItems) {
try {
if(item) {
eDiv[item].className = 'visible';
eDiv[item].lastChild.href='javascript:collapse('+item+','+listItems+');';
// läs kommentar högre upp..
if(listItems > 1) {
var txt = 'Dölj alla ' + listItems + ' nyheter!';
} else {
var txt = 'Dölj nyheten!';
}
// Sätt text för länk!
eDiv[item].lastChild.innerHTML = txt;
}
} catch(e) {
alert(e.message);
}
}
function collapse(item,listItems) {
try {
if(item) {
eDiv[item].className = 'invisible';
eDiv[item].lastChild.href='javascript:expand('+item+','+listItems+');';
// läs kommentar högre upp..
if(listItems > 1) {
var txt = 'Visa alla ' + listItems + ' nyheter!';
} else {
var txt = 'Visa nyheten!';
}
// Sätt text för länk!
eDiv[item].lastChild.innerHTML = txt;
}
} catch(e) {
alert(e.message);
}
}
// load event
addLoadEvent(newsList);
IE visar de korrketa antalet:
i IE: 27, 9, 29, 1
och FF visar tok konstigt fel
i FF: 55, 19, 59, 3
det blir en skillnad: 28, 10, 30, 2 på antal li i varje ul i varje div.. :l