выставляю ид в теле 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 или не яв-ся объектом
Я так понимаю объектная переменная преобразуется в строковую и нехочет работать, непонятно
Прошу помочь с кодом HTML+JavaScript
Модератор: Duncon
А выложи весь скрипт так будет понятней и наглядней.
По идеи здесь надо объявить переменную либо стиль написать...
По идеи здесь надо объявить переменную либо стиль написать...
Код: Выделить всё
var thisobj = document.getElementById("mc" +"1");
Даже самый дурацкий замысел можно воплотить мастерски
Или так:
Код: Выделить всё
var thisobj = document.all["mc" +i];

Хочу организовать цикл 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() // тотже скрипт, но окантовка в обратном направлении
}
}
...
Очень прошу по подробнее...