вот написал такой скрипт который обезает опеределленное кол-во текста
а по нажатию на ссылку отображает его.
но вот в чем проблема если используется тег <p> то скрипт от туда вырезает но всавляет после тега.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<script type="text/javascript">
function createStyleCSS(CssParam){
var head,tagStyle;
head=document.getElementsByTagName("head")[0];
//head.getElementsByTagName("style");
tagStyle=document.createElement("style");
tagStyle.setAttribute("type","text/css");
tagStyle.innerHTML=CssParam;
head.appendChild(tagStyle);
}
function sliceText(){
createStyleCSS(".notVisible {display:none;}");//функциия задает переданные css свойства
var lengthArray,endLen,resultText,findEndSymols,fullLink,AllClass;
// i love IE
if(typeof document.getElementsByClassName != 'function')AllClass=browserIE('sliceText');
//--------------
else AllClass=document.getElementsByClassName("sliceText");
for(var i=0;i<AllClass.length;i++)
{
lengthArray=AllClass[i].innerHTML.length;//длина текстовой строки
if(lengthArray>200){
//-------------------------------------
fullLink=document.createElement('a');
//создание ссылки на полный текст
fullLink.setAttribute("href"," ");
fullLink.setAttribute("onclick","Fulltext(this);return false;");
fullLink.innerHTML="Смотреть полностью...";
//-------------------------------------
/*выводится только 40% текста */
endLen=(lengthArray/100)*40;
//--------------------
findEndSymols=AllClass[i].innerHTML.slice(endLen);
findEndSymols=findEndSymols.indexOf(" ");
endLen=endLen+findEndSymols;//вырезать начиная с пробела
//--------------------
resultText=AllClass[i].innerHTML.slice(0,endLen)+" <div class='notVisible'>"+AllClass[i].innerHTML.slice(endLen)+"</div>";
AllClass[i].innerHTML=resultText+" ";
AllClass[i].appendChild(fullLink);
}
}
}
function Fulltext(obj){
var element;
var ALLspan=obj.parentNode.getElementsByTagName("div");
for(var i=0;i<ALLspan.length;i++){
if(ALLspan[i].className=="notVisible"){
ALLspan=ALLspan[i];
break;
}
}
if(ALLspan.nodeType == 1){
ALLspan.style.display="inline";
obj.parentNode.removeChild(obj);
}
else alert("Проблема при обработке span");
}
// ДЛЯ ИЕ вместо document.getElementsByClassName
function browserIE(FindClass){
//ie6 test
var Tagbod=document.getElementsByTagName('body')[0];
var allSpan=Tagbod.getElementsByTagName('*');
var arrElements=[],g=0;
for(var i=0;i<allSpan.length;i++){
if(allSpan[i].className==FindClass){
arrElements[g]=allSpan[i];
g++;
}
}
return arrElements;
//---------------------------------------
}
</script>
<style type="text/css">
.text {
margin-top:20px;
overflow:hidden;
}
</style>
</head>
<body onload="sliceText();">
<div class="sliceText">
Legend of Grimrock — это ролевая игра от студии Almost Human Games, которая также выступила и издателем. Проект вышел 11 апреля и стал самым продаваемым в Steam на прошлой неделе, при этом разработчики говорят, затраты на ее разработку уже окупились
</div>
<div class="sliceText">
Десятка самых продаваемых игр прошлой недели: 1. Legend of Grimrock 2. Wargame: European Escalation 3. The Elder Scrolls V: Skyrim 4. Max Payne 3 5. Sins of A Solar Empire: Rebellion 6. Call of Duty: Modern Warfare 3 7. Might
</div>
<div class="sliceText">
Namco Bandai показывает немного геймплея кооперативной игры Star Trek от студии Digital Extremes (Bioshock 2, Unreal Tournament, Dark Sector, The Darkness 2).
</div>
<div class="sliceText">
<p>Namco Bandai показывает немного геймплея кооперативной игры Star Trek от студии Digital Extremes (Bioshock 2, Unreal Tournament, Dark Sector, The Darkness 2).</p>
<p>Судя по видео, в Star Trek будет очень много экшена: бега, перестрелок, полетов в космосе и не только, и даже альпинизм.</p>
<p>Напомним, Star Trek выйдет в начале 2013 года на PC и консоли, а здесь вы увидите минуту пре-альфа геймплея игры годичной давности.</p>
</div><br>
</html>
тут можно его запустить
http://learn.javascript.ru/play/V3HZ8b .
помогие исправить или подскажите алгоритм написания (готовых скриптов не надо).
и почему не работает в ИЕ функция createStyleCSS()