Страница 1 из 1

Прошу помочь с кодом HTML+JavaScript

Добавлено: 13 дек 2004, 20:17
Krait
выставляю ид в теле html <a id="mc1" ... </a>, гружу скрипт <body onload="startfilter();">, в нем хочу организовать цикл из буквы и меняющейся цифры
... thisobj=mc+i
thisobj.style.filter= ...
вот тут и застрял, как бы я не менял thisobj, ничего не получается, только если явно указать thisobj=mc1 , вот варианты, что я пробовал:
thisobj=mc+1
thisobj="mc"+"1"
thisobj=mc+"1"
thisobj=typeof("mc"+1) по разному
прошу помощи

ошибка такая: "thisobj.style" - есть null или не яв-ся объектом
Я так понимаю объектная переменная преобразуется в строковую и нехочет работать, непонятно

Добавлено: 16 дек 2004, 23:32
Duncon
А выложи весь скрипт так будет понятней и наглядней.
По идеи здесь надо объявить переменную либо стиль написать...

Добавлено: 17 дек 2004, 01:53
AiK

Код: Выделить всё

var thisobj = document.getElementById("mc" +"1"); 

Добавлено: 17 дек 2004, 13:40
Serafina
Или так:

Код: Выделить всё

var thisobj = document.all["mc" +i];

Добавлено: 17 дек 2004, 19:51
Krait
:o ops: Цель такая, хочу чтобы скрипт работал для нескольких текстовых строк, убавляя и уменьшая толщину окантовки, как бы мерцая. Выставляю ID в теле HTML всем строкам по формату текст+цифра, пример: mc1, mc2...
Хочу организовать цикл mc+i, где i - порядковый номер, при эсперименте использую следующий работающий код:
...
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var i_strength=0
var max_strength=2 // длина окантовки
var shadowcolor="red" //цвет окантовки
var timer
var i // порядковый номер строки
var speed=200
var thisobj
function stopfilter(thisdiv){
if (document.all) {
clearTimeout(timer)
thisobj=thisdiv
thisobj.style.filter=" "
}
}

function startfilter(thisdiv){
if (document.all) {
clearTimeout(timer)
morefilter()
}
}

function morefilter(){ //пока пробую с 2-я строчками
if (i_strength <=max_strength) {
thisobj=mc1 // тут экспериментально я пытаюсь назначить иное имя с цифрой и не получается (напр., mc+1)
thisobj.style.filter="glow(color="+shadowcolor+", strength="+i_strength+")"
thisobj=mc2
thisobj.style.filter="glow(color="+shadowcolor+", strength="+i_strength+")"
i_strength++
timer = setTimeout("morefilter()",speed)
}
else {
clearTimeout(timer)
lessfilter() // тотже скрипт, но окантовка в обратном направлении
}
}
...

Очень прошу по подробнее...