Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Java / JavaScript


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

vladisslav
Статус: 6-й класс
Рейтинг: 1237
∙ повысить рейтинг »
Botsman
Статус: Профессионал
Рейтинг: 812
∙ повысить рейтинг »
Палян Александр Михайлович
Статус: 6-й класс
Рейтинг: 309
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И ПО / Программирование / Java/JavaScript

Номер выпуска:680
Дата выхода:28.09.2010, 20:30
Администратор рассылки:Калашников О.А., Руководитель
Подписчиков / экспертов:277 / 91
Вопросов / ответов:1 / 2

Вопрос № 179999: Всем доброго дня. Кто может, помогите решить такую проблему. Есть такой скрипт для вывода нескольких строк.

Код:

Вопрос № 179999:

Всем доброго дня.

Кто может, помогите решить такую проблему. Есть такой скрипт для вывода нескольких строк.

Код:

<body onload="start_up_text()">
<div id="up_text">
<script type="text/javascript">
var delay=120;
var msg = ('Это первая строка.<br>Это вторая строка.<br><br>Это третья строка<br>Это четвертая строка<br><br>Это пятая строка<br>Это шестая строка');
function start_up_text()
{ do_up_text(msg, 0, 1);}
function do_up_text(text, pos, dir)
{
var out=text.substring(msg, pos);
up_text.innerHTML=out;
pos+=dir;
setTimeout(' do_up_text("'+text+'",'+pos+','+dir+')', delay);
}
</script>
</div>


Проблема в том, что при переносе строки печатается знак "<" в конце строки. Также он печатается на пустой строке. В ИЕ все нормально, а вот в Опере и FF вот такая беда.

Кто знает, как с этим бороться, помогите. Или может у кого-то есть другой вариант такого скрипта.

Спасибо.

Отправлен: 23.09.2010, 19:16
Вопрос задал: Кохан Владимир Иванович, Посетитель
Всего ответов: 2
Страница вопроса »


Отвечает Волков Алексей aka Lupo, 5-й класс :
Здравствуйте, Кохан Владимир Иванович.

Предлагаю исправить скрипт так:
Код:
<body onload="start_up_text()"> 
<div id="up_text">
<script type="text/javascript">
var delay=120;
var msg = ('Это первая строка.@Это вторая строка.@@Это третья строка@Это четвертая строка@Это пятая строка@Это шестая строка');
function start_up_text()
{ do_up_text(msg, 0, 1);}
function do_up_text(text, pos, dir)
{
var out=text.substring(pos, pos+1); // выделяет ОДИН символ
document.getElementById('up_text').innerHTML +=(out=='@'?'<br>':out); // дописывает к ('up_text').inne rHTML очередной символ или динамически заменяет один символ @ на весь тег <br> сразу (иначе он выводится посимвольно, отсюда и вывод <
pos+=dir;
setTimeout('do_up_text("'+text+'",'+pos+','+dir+')', delay);
}
</script>
</div>

-----
If each of us have one object, and we exchange them, then each of us still has one object. If each of us have one idea, and we exchange them, then each of us now has two ideas. (с)перто.

Ответ отправил: Волков Алексей aka Lupo, 5-й класс
Ответ отправлен: 23.09.2010, 21:18
Номер ответа: 263156

Оценка ответа: 5
Комментарий к оценке:
Отлично! Все работает как нужно, большое спасибо

Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263156 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Отвечает HookEst, Специалист :
    Здравствуйте, Кохан Владимир Иванович.
    еще вариант:
    dir может быть любым, обрабатывает теги и html сущности #..;


    Успехов.

    ps
    пытался в msg вставить часть html этой страницы, но что-то там не так с обработкой кода в приложении...
    долгие попытки поменять форматирование ни к чему не привели..
    и файл прикрепить уже не могу...
    можете поменять сами...

    Приложение:

    Ответ отправил: HookEst, Специалист
    Ответ отправлен: 24.09.2010, 04:11
    Номер ответа: 263160

    Оценка ответа: 5
    Комментарий к оценке:
    Большое спасибо за ответ.

    Вам помог ответ? Пожалуйста, поблагодарите эксперта за это!
    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 263160 на номер 1151 (Россия) | Еще номера »
  • Отправить WebMoney:

  • Оценить выпуск »
    Нам очень важно Ваше мнение об этом выпуске рассылки!

    Задать вопрос экспертам этой рассылки »

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров »

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2010, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2010.6.21 от 28.09.2010

    В избранное