Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.09.2013, 15:24
Аватар для Влад31/08/2000
Интересующийся
Отправить личное сообщение для Влад31/08/2000 Посмотреть профиль Найти все сообщения от Влад31/08/2000
 
Регистрация: 04.08.2012
Сообщений: 22

обясните плз почему мой SetInterval так странно себя ведет?
var alert_stylesheet = document.styleSheets[1];
var o=0;
function my_alert()
{
var t = setInterval(function() {
o = o+1;
if(o!=51)
{
alert_stylesheet.deleteRule(0);
alert_stylesheet.insertRule(".overlay{background-color: gray; opacity: 0."+o+"; width: 100%; height: 100%; position: fixed; left: 0; top: 0;}",0);
}
else
{
clearInterval(t);
alert_stylesheet.deleteRule(0);
alert_stylesheet.insertRule(".overlay{background-color: gray; opacity: 0.50; width: 100%; height: 100%; position: fixed; left: 0; top: 0;}",0);
}
}, 125);
}

Задача этого скрипта - затемнение страницы. На всю страницу накладывается див с серым фоном. Скрипт должен менять opacity дива. И он меняет. Но сразу после этого страница начинает затемняться еще раз. Объясните мне плз откуда взялось второе затемнение?
Ответить с цитированием
  #2 (permalink)  
Старый 29.09.2013, 17:02
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от Влад31/08/2000
почему мой SetInterval так странно себя ведет?
setInterval() всегда ведет себя одинаково... А вот твой алгоритм видать поганый...
Тестируй его и будет тебе счастие...
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2013, 17:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Это не касается конечно setInterval, но! Этот код работы с таблицей стилей не кроссбраузерный. Да и нафиг он не вперся вообще тут. Используй element.style непосредственно. Например
var overlay = document.querySelector('.overlay');
overlay.style.opacity: 0.5;

Цвет и прочие свойства задай в css. Да и анимацию можно тоже в css замутить. Никто не погибнет если увидит в архивном браузере переход без анимации.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В хроме слайдер ведет себя очень странно Alex_meri39 jQuery 3 01.02.2012 02:03
jCarousel странно себя ведет oke11o jQuery 0 14.11.2011 10:45
Странно себя ведет простейшая проверка введенных данных в форме San4eZ Общие вопросы Javascript 7 06.10.2011 09:17