Я искал и увидел, что большинство людей с этой проблемой передают вызов функции, а не имя функции, то есть: setInterval (myFunc(), 100) вместо setInterval (myFunc, 100)JS setInterval() запускается только один раз при анимационной непрозрачности
Но я не, и это все еще не сработает ... Я также видел много людей, говорящих, что вам нужно разобрать плащ на непрозрачность, чтобы заставить его работать, я пробовал это и это по-прежнему дает тот же результат ...
функция runSubMenu1(), как представляется, работать только один раз, независимо от того, включают ли я КРП (i.style.opacity == 1) статья или не
Не знаете, куда идти отсюда? совет?
<script type="text/javascript">
var run;
var runOpt;
function openSubMenu1(item) {
runOpt=item;
run = setInterval(runSubMenu1,100);
}
function runSubMenu1() {
var i=document.getElementById('menu-1-'+runOpt);
if(i.style.opacity==1){clearInterval(run);}
else{i.style.opacity+=.1;}
}
</script>
EDIT: внесены изменения, упомянутых jfriend00 и непрозрачность имеет значение 0 набора в оригинальной CSS отправленной со страницей, после 1 итерации непрозрачность, кажется, 0,1
Одна ошибка заключается в том, что 'clearInterval (runSubMenu1)' должно быть 'clearInterval (run)'. Кроме того, вы действительно должны добавить 'var i' в' runSubMenu1'. Кроме того, «i.style.opacity» может не иметь значения первоначально, если вы явно не установили его на объекте DOM, так как «i.style» не возвращает значения по умолчанию или значения таблиц стилей - только значения, явно установленные на объекте DOM. – jfriend00