Javascript.RU

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

Выручайте, innerhtml
Не работает скрипт анимации текста в IE, в ФФ и опере работает, ругается на innerhtml, говорит, что есть Null или не является..(Ругается на 23 строчку)
Помогите исправить пожалуйста, вот код:

var ie4 = false;
if(document.all) {
ie4 = true;
}
function setContent(name, value) {
var d;
if (ie4) {
d = document.all[name];
} else {
d = document.getElementById(name);
}
d.innerHTML = value;
}


function getContent(name) {
var d;
if (ie4) {
d = document.all[name];
} else {
d = document.getElementById(name);
}
return d.innerHTML;
}



function setColor(name, value) {
var d;
if (ie4) {
d = document.all[name];
} else {
d = document.getElementById(name);
}
d.style.color = value;
}

function getColor(name) {
var d;
if (ie4) {
d = document.all[name];
} else {
d = document.getElementById(name);
}
return d.style.color;
}

function animate(name, col) {
var value = getContent(name);
if (value.indexOf('<span') >= 0) { return; }
var length = 0;
var str = '';
var ch;
var token = '';
var htmltag = false;
for (i = 0; i < value.length; i++) {
ch = value.substring(i, i+1);
if (i < value.length - 1) { nextch = value.substring(i+1, i+2); } else { nextch = ' '; }
token += ch;
if (ch == '<' && '/aAbBpPhHiIoOuUlLtT'.indexOf(nextch) >= 0) { htmltag = true; }
if (ch == '>' && htmltag) { htmltag = false; }
if (!htmltag && ch.charCodeAt(0) > 30 && ch != ' ' && ch != '\n') {
str += '<span id="' + name + '_' + length + '">' + token + '</span>';
token = '';
length++;
}
}
setContent(name, str);
command = 'animateloop(\'' + name + '\', ' + length + ', 0, 1, \'' + col + '\')';
setTimeout(command , 100);
}

function animateloop(name, length, ind, delta, col) {
var next = ind + delta;
if (next >= length) { delta = delta * -1; next = ind + delta; }
if (next < 0) { delta = delta * -1; next = ind + delta; }
setColor(name + '_' + ind, getColor(name + '_' + next));
setColor(name + '_' + next, col);
command = 'animateloop(\'' + name + '\', ' + length + ', ' + next + ', ' + delta + ', \'' + col + '\')';
setTimeout(command , 100);

Последний раз редактировалось B~Vladi, 09.11.2009 в 21:56.
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2009, 21:59
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Gekuruz
document.all
и
Сообщение от Gekuruz
if (ie4)
Это что вообще такое?! Сотри этот скрипт.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
innerHTML and z-index ViZ0R Общие вопросы Javascript 5 12.08.2009 10:28
двойной innerHTML Лесной_Белк Элементы интерфейса 13 21.05.2009 02:25
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57