Jeg er en af de få særlinger, der ikke modtager point, så antallet af ændringer generer mig ikke. Til gengæld er det god stil i forhold til 'ikke-særlinge' at foreslå at åbne et nyt spørgsmål. Til gengæld synes jeg, DeeDawg bør have point for at løse dit caching problem =)
Her er en ny version, som jeg mener, skulle opfylde kravene. Du må selv udfylde variablerne
. Vær i den forbindelse mærke til, at det er vigtigt, at holdnavnene er 'sdavøt' korrekt i XML-filen. Ellers bliver billedet ikke vist. Husk også, at holdnavnet i
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Stilling</title>
<style type="text/css">
table {
border-collapse: collapse;
}
th,
td {
padding: 2px 10px;
text-align: center;
}
.left {
text-align: left;
}
.halfmen {
color: red;
font-weight: bold;
}
.odd {
background: #ededed;
}
a img {
border: 0;
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>NR</th>
<th class="left">HOLD</th>
<th>KAMPE</th>
<th>V</th>
<th>U</th>
<th>T</th>
<th>SCORE</th>
<th>+/-</th>
<th>POINTS</th>
<th>LINK</th>
</tr>
</thead>
<tbody id="display">
<tr>
<td> </td>
<td class="left"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><a href="" target="_blank"><img src="" alt=""></a></td>
</tr>
</tbody>
</table>
<script type="text/javascript">
(function(){
if (window.ActiveXObject) return;
Element.prototype.selectNodes = function(sXP) {
var oEval = new XPathEvaluator(),
oRes = oEval.evaluate(sXP, this, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null),
aNodes = [];
if (oRes!=null) {
var oElm = oRes.iterateNext();
while(oElement) {
aNodes.push(oElm);
oElm = oRes.iterateNext();
}
}
return aNodes;
};
Element.prototype.selectSingleNode = function(sXP) {
var oEval = new XPathEvaluator(),
oRes = oEval.evaluate(sXP, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
if (oRes!=null) return oRes.singleNodeValue;
else return null;
};
})();
(function(){
var elmDispl = document.getElementById("display"),
oTempl = elmDispl.getElementsByTagName("tr")[0];
elmDispl.removeChild(oTempl),
sPicPath = "sti/til/billedmappe/",
oPics = {
"dan-ejendomme": "dan-ejend.png",
"aon": "aon.png",
"nordland fc": "nordl_fc.png",
"big balls": "nosser.png"
};
function setTdValue(elmTd, elmXml, bAppend) {
if (bAppend) elmTd.firstChild.nodeValue += elmXml.firstChild.nodeValue;
else elmTd.firstChild.nodeValue = elmXml.firstChild.nodeValue;
}
function setTdLink(elmTd, sTeam, elmXmlTeam, elmXmlLink) {
var elmImg = elmTd.firstChild.firstChild;
elmTd.firstChild.setAttribute("href", elmXmlLink.firstChild.nodeValue);
elmImg.setAttribute("src", sPicPath+oPics[sTeam]);
elmImg.setAttribute("alt", elmXmlTeam.firstChild.nodeValue);
}
function insertRow(elmRow, oData, bOdd) {
var aTd = elmRow.getElementsByTagName("td"),
sTeam = oData.selectSingleNode("HOLD").firstChild.nodeValue.toLowerCase();
setTdValue(aTd[0], oData.selectSingleNode("NR"));
setTdValue(aTd[1], oData.selectSingleNode("HOLD"));
setTdValue(aTd[2], oData.selectSingleNode("KAMPE"));
setTdValue(aTd[3], oData.selectSingleNode("V"));
setTdValue(aTd[4], oData.selectSingleNode("U"));
setTdValue(aTd[5], oData.selectSingleNode("T"));
setTdValue(aTd[6], oData.selectSingleNode("SCORE1"));
setTdValue(aTd[6], oData.selectSingleNode("SCORE2"), true);
setTdValue(aTd[6], oData.selectSingleNode("SCORE3"), true);
setTdValue(aTd[7], oData.selectSingleNode("SCORE4"));
setTdValue(aTd[7], oData.selectSingleNode("SCORE5"), true);
setTdValue(aTd[8], oData.selectSingleNode("POINTS"));
setTdLink(aTd[9], sTeam, oData.selectSingleNode("HOLD"), oData.selectSingleNode("LINK"));
if (sTeam=="half men half biscuits") {
elmRow.className = bOdd ? "halfmen odd" : "halfmen";
}
else if (bOdd) elmRow.className = "odd";
elmDispl.appendChild(elmRow);
}
function handleResponse(oXml) {
var aSections = oXml.getElementsByTagName("SEKTION");
for (var i=0,j=aSections.length; i<j; i++) {
insertRow(oTempl.cloneNode(true), aSections[i], i%2==0);
}
}
var oXHR = new XMLHttpRequest();
oXHR.open("get", "xml-stilling.xml?u="+new Date().getTime(), false);
oXHR.send();
handleResponse(oXHR.responseXML);
oXHR = null;
})();
</script>
</body>
</html>