Вопрос № 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 вот такая беда.
Кто знает, как с этим бороться, помогите. Или может у кого-то есть другой вариант такого скрипта.
<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 (Россия) |
Еще номера »
Отвечает HookEst, Специалист :
Здравствуйте, Кохан Владимир Иванович. еще вариант: dir может быть любым, обрабатывает теги и html сущности #..;
Успехов.
ps пытался в msg вставить часть html этой страницы, но что-то там не так с обработкой кода в приложении... долгие попытки поменять форматирование ни к чему не привели.. и файл прикрепить уже не могу... можете поменять сами...
Приложение:
Ответ отправил: HookEst, Специалист
Ответ отправлен: 24.09.2010, 04:11
Номер ответа: 263160
Оценка ответа: 5 Комментарий к оценке: Большое спасибо за ответ.
Вам помог ответ? Пожалуйста, поблагодарите эксперта за это! Как сказать этому эксперту "спасибо"?
Отправить SMS#thank 263160
на номер 1151 (Россия) |
Еще номера »
Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.