JS не считает
Привет уважаемые программисты. Объясните пожалуйста где я ошибся. Дело в том, что вторая функция не хочет вычитать из переменной Opacity.
В первой функции я прибавляю к Opacity до тех пор, пока она не превысит 1, после чего завершаю функцию методом clearInterval(setIN). Тут всё ожидаемо, всё работает. Затем запускаю вторую функцию и ничего. Вычитает только один раз до 0.9, а дальше не хочет. Если поменять - на + то прибавляет без проблем. Вот код:
function openauthorize()
{
if(opacity>1) clearInterval(setIN);
opacity=opacity+0.1;
document.getElementById('df').innerHTML=opacity;
}
function closeauthorize()
{
opacity=opacity-0.1;// если я тут поставлю + то считает нормально
document.getElementById('df').innerHTML=opacity;
}
|
Цитата:
|
Извините, не понял? Какой пример?
|
Цитата:
|
Подключаемый JS
var opacity = 0;
var start = 0;
function openauthorize()
{
if(opacity>1) clearInterval(setIN);
opacity=opacity+0.1;
document.getElementById('df').innerHTML=opacity;
}
function closeauthorize()
{
opacity=opacity-0.1;
document.getElementById('df').innerHTML=opacity;
}
HTML страница ... <div id='df'></div> <span onClick='var setIN=setInterval(openauthorize,10)'>Плюс</span> <span onClick='setInterval(closeauthorize,10)'>Минус</span> ... |
Detex, попробовал собрать твой "пример"...
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
</style>
<script>
var opacity = 0;
var start = 0;
function openauthorize() {
if(opacity>1) {
clearInterval(setIN);
return
}
opacity=opacity+0.1;
document.getElementById('df').innerHTML=opacity;
}
function closeauthorize() {
opacity=opacity-0.1;
document.getElementById('df').innerHTML=opacity;
}
</script>
</head>
<body>
<div id='df'></div>
<span onClick='var setIN=setInterval(openauthorize,10)'>Плюс</span>
<span onClick='setInterval(closeauthorize,10)'>Минус</span>
</body>
</html>
Итог Цитата:
Цитата:
Цитата:
|
Ваш пример тоже не работает, но Вы навели меня на правильную мысль, а именно, видимо, в onClick нельзя объявить переменную (например: onClick(var setIN=setInterval(...))).
Я объявил её в скрипте и всё заработало. Спасибо за помощь. |
Цитата:
|
| Часовой пояс GMT +3, время: 12:51. |