Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2010, 12:18
Интересующийся
Отправить личное сообщение для coolplayer Посмотреть профиль Найти все сообщения от coolplayer
 
Регистрация: 21.10.2010
Сообщений: 16

Обрезка текста
Друзья, проблема следующая. Есть инфомер на сайте, выводящий лучшую новость. Количество символов в информере должно быть не более 250, иначе нужно обрезать статью и вставить ... Как это сделать На Javascript?
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2010, 12:20
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

/**
     * Обрезает строку до длины length справа, слева или в центре, в зависимости от параметра mode. Вместо вырезанного
     * куска вставляет строку truncation.
     * @param {Number} length (Optional) Длина результирующей строки (по умолчанию 30).
     * @param {String} truncation (Optional) Строка, добавляемая вместо вырезанной части (по умолчанию '...').
     * @param {String} mode (Optional) Режим работы. left -- отрезает слева, right -- справа, center -- в центре.
     * (по умолчанию right).
     * @return {String} Обрезанная строка.
     */
    String.prototype.truncate = function(length, truncation, mode) {
        length = length || 30;
        if (this.length <= length) {
            return this.valueOf();
        }
        truncation = truncation || '...';
        switch (mode) {
            case 'left':
                return truncation + this.slice(truncation.length - length);
            case 'center':
                var l = Math.floor((length - truncation.length) / 2);
                return this.slice(0, l) + truncation + this.slice(-l);
            default:
                return this.slice(0, length - truncation.length) + truncation;
        }
    };

alert('1234567890'.truncate(5));
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2010, 12:24
Интересующийся
Отправить личное сообщение для coolplayer Посмотреть профиль Найти все сообщения от coolplayer
 
Регистрация: 21.10.2010
Сообщений: 16

Kolyaj, во всем разобрался кроме того, как сообщить скрипту, что мне надо редактировать именно текст информера, а не любой текст страницы?
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2010, 12:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ну это уж зависит от скрипта вашего информера, нам это неведомо.
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2010, 12:32
Интересующийся
Отправить личное сообщение для coolplayer Посмотреть профиль Найти все сообщения от coolplayer
 
Регистрация: 21.10.2010
Сообщений: 16

Kolyaj,
текст как переменная $TEXT$, которая автоматически подставляется при обработке страницы.
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2010, 12:37
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Куда подставляется?
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2010, 12:39
Интересующийся
Отправить личное сообщение для coolplayer Посмотреть профиль Найти все сообщения от coolplayer
 
Регистрация: 21.10.2010
Сообщений: 16

Хостинг ucoz... в коде текст информера задается как переменная $TEXT$. Она и выводится. Ее и нужно укорачивать.
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2010, 12:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Телепатически тут сказать ничего нельзя. Ищите того, кто сможет разобраться в ваших кодах и окружении.
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2010, 12:51
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

<div id="txt">
	$TEXT$
</div>
<script type="text/javascript">
	document.getElementById("txt").innerHTML = document.getElementById("txt").innerHTML.slice(0, 250) + "…";
</script>
Ответить с цитированием
  #10 (permalink)  
Старый 21.10.2010, 13:21
Интересующийся
Отправить личное сообщение для coolplayer Посмотреть профиль Найти все сообщения от coolplayer
 
Регистрация: 21.10.2010
Сообщений: 16

exec,
вот это реально помогло! спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проверка текста и.. Slawaq Элементы интерфейса 2 20.08.2010 20:35
Поиск текста в блоке со скроллингом lukingnu Элементы интерфейса 0 05.08.2010 22:54
Подсчет "реальной" длины текста в textarea modernx Элементы интерфейса 22 06.06.2010 18:30
Обрезка длинного текста CJRoman Общие вопросы Javascript 10 19.10.2009 17:06
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02