Der Barreierefreiheit zu liebe versuch ichs erstmal ohne php.... wird was

<hmtl> <head> <title>Text auf drei Spalten verteilt</title> <script type="text/javascript"> function $(s){return typeof s == "string" ? document.getElementById(s) : s;} function getHeight(e){ var eS = e.style, oH; eS.display = "block"; oH = e.clientHeight; eS.display = "none"; return oH; } function getColLength(string, width, divisor, fontStyle){ var div = document.createElement("DIV"), el, eS, height, i, length, pos; div.innerHTML = string; el = div.cloneNode(true); el = document.body.appendChild(el); eS = el.style eS.width = width + "px"; eS.visibility = "hidden"; eS.display = "none"; eS.position = "absolute"; for(var p in fontStyle){eS[p] = fontStyle[p];} height = getHeight(el) / divisor; while(el.childNodes[0]){el.removeChild(el.childNodes[0]);} for(i = 0; getHeight(el) <= height && i < div.childNodes.length; i++){ string = ""; el.appendChild(div.childNodes[i].cloneNode(true)); } if(i && el.lastChild.nodeName == "#text"){ el.removeChild(el.childNodes[i - 1]); string = div.childNodes[i - 1].data; while(getHeight(el) <= height && string.length){ if((pos = string.indexOf(" ")) > -1 || (pos = string.indexOf("\n")) > -1){ el.appendChild(document.createTextNode(string.substring(0, pos + 1))); string = string.substring(pos + 1); }else{ el.appendChild(document.createTextNode(string)); break; } if((pos = string.indexOf(" ")) > -1 || (pos = string.indexOf("\n")) > -1){ el.appendChild(document.createTextNode(string.substring(0, pos + 1))); string = string.substring(pos + 1); }else{ el.appendChild(document.createTextNode(string)); break; } } } if(getHeight(el) >= height && el.childNodes.length && el.lastChild.nodeName != "#text"){ el.removeChild(el.childNodes[el.childNodes.length - 1]); } length = el.innerHTML.length; document.body.removeChild(el); return length; } </script> <style type="text/css"> #div1, #div2, #div3 { position:absolute; width:200px; font-size:16px; top:100px; } #div1 { left:100px; } #div2 { left:300px; } #div3 { left:500px; } </style> </head> <body> <div id="div1"></div><div id="div2"></div><div id="div3"></div> <script type="text/javascript"> text ="<span style='color:#f00;'>Lorem ipsum dolor sit amet, consectetuer sadipsc</span>ing elitr, sed diam"; text +=" nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed <span style='color:#0f0;"; text +="'>diam voluptua. At vero eos et accusam et jus</span>to duo dolores et ea rebum. Stet clita kasd gub"; text +="ergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetet"; text +="ur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,"; text +=" sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergr"; text +="en, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur s"; text +="adipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed"; text +=" diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, "; text +="no sea takimata sanctus est Lorem ipsum dolor sit amet.<br><br>Duis autem vel eum iriure dolor in he"; text +="ndrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at v"; text +="ero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzr</span>il delenit augu"; text +="e duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, s"; text +="ed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.<br><br>Ut wisi"; text +=" enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex e"; text +="a commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie c"; text +="onsequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio digniss"; text += "im qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi."; div1 = $("div1"); div1_IE = document.createElement("DIV"); // IE Hack div1_IE.innerHTML = text.substr(0, pos = getColLength(text, 200, 3, {fontSize:"16px"})); text = text.substr(pos); div2 = $("div2"); div2_IE = document.createElement("DIV"); // IE Hack div2_IE.innerHTML = text.substring(0, pos = getColLength(text, 200, 2, {fontSize:"16px"})); text = text.substring(pos); div3 = $("div3"); div3_IE = document.createElement("DIV"); // IE Hack div3_IE.innerHTML = text; for(i = 0; i < div1_IE.childNodes.length; i++){ div1.appendChild(div1_IE.childNodes[i].cloneNode(true)); } for(i = 0; i < div2_IE.childNodes.length; i++){ div2.appendChild(div2_IE.childNodes[i].cloneNode(true)); } for(i = 0; i < div3_IE.childNodes.length; i++){ div3.appendChild(div3_IE.childNodes[i].cloneNode(true)); }; </script> </body> </html>
Kommentar