Показать сообщение отдельно
  #1 (permalink)  
Старый 24.11.2013, 21:24
Новичок на форуме
Отправить личное сообщение для Крячик Посмотреть профиль Найти все сообщения от Крячик
 
Регистрация: 24.11.2013
Сообщений: 1

Формирование сокращенной версии новости в блоге через JS
Здравствуйте, уважаемые знатоки!
Имеется блог, где на главную страницу копируются сокращенные версии новостей с уменьшенным до 258*258 изображением и текстом. Текст обрезается по количеству строк и происходит полная очистка форматирования, т.е. он подается одним блоком. Мне же нужно, чтобы выдавался только текст первого абзаца (в статьях выделен у меня блоком div с идентификатором intro). Как я понимаю, здесь в коде в функцию removeHtmlTag на входе подается div.innerHTML, а мне нужен только один конкретный div. Знаю, вопрос, возможно простой, но с JavaScript я совсем не знаком. Надеюсь на вашу помощь. И надеюсь, что пишу в правильный раздел. Всем заранее спасибо.

<script type='text/javascript'>
summary_noimg = 800;
summary_img = 650;
img_thumb_height = 258;
img_thumb_width = 258; 
</script>
<script type='text/javascript'>
//<![CDATA[

function removeHtmlTag(strx,chop){ 
	if(strx.indexOf("<")!=-1)
	{
		var s = strx.split("<"); 
		for(var i=0;i<s.length;i++){ 
			if(s[i].indexOf(">")!=-1){ 
				s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length); 
			} 
		} 
		strx =  s.join(""); 
	}
	chop = (chop < strx.length-1) ? chop : strx.length-2; 
	while(strx.charAt(chop-1)!=' ' && strx.indexOf(' ',chop)!=-1) chop++; 
	strx = strx.substring(0,chop-1); 
	return strx+'...'; 
}

function createSummaryAndThumb(pID){
	var div = document.getElementById(pID);
	var imgtag = "";
	var img = div.getElementsByTagName("img");
	var summ = summary_noimg;
	if(img.length>=1) {	
		imgtag = '<span style="float:left; padding:0px 10px 5px 0px;"><img src="'+img[0].src+'" width="'+img_thumb_width+'px" height="'+img_thumb_height+'px"/></span>';
		summ = summary_img;
	}
	
	var summary = imgtag + '<div>' + removeHtmlTag(div.innerHTML,summ) + '</div>';
	div.innerHTML = summary;
}

//]]>
</script>
Ответить с цитированием