Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оптимизация кода JavaScript
 
 автор: Sake   (09.10.2008 в 09:52)   письмо автору
 
 

Мужики, даже стыдно к вам с таким вопросом обращаться, но совсем нет времени сейчас JavaScripts учить! Есть простой код (рабочий), знаю, что его можно в раз 5 упростить с помощью цикла. Алгоритм через цикл прост (я его понимаю), но с реализацией - проблемы:


......................
<div id="d1">Текст1</div>        
<div id="d2">Текст2</div>
<div id="d3">Текст3</div>
........................
<script language="JavaScript">
<!--
function flash1()      { d1.style.backgroundColor="#E6E6FA"; }
function flash2()      { d2.style.backgroundColor="#E6E6FA"; }
function flash3()      { d3.style.backgroundColor="#E6E6FA"; }

function down1()     {d1.style.backgroundColor="transparent"; }
function down2()     {d2.style.backgroundColor="transparent"; }
function down3()     {d3.style.backgroundColor="transparent"; }

function blink()
{
setTimeout("flash1()", 100);     setTimeout("down1()", 200);
setTimeout("flash2()", 300);     setTimeout("down2()", 400);
setTimeout("flash3()", 500);     setTimeout("down3()", 600);
}

setInterval("blink()", 2000);

//-->
</script> 


Извините за примитив, но с Java-скриптами я работаю 2-й раз в жизни!!!

  Ответить  
 
 автор: Keda   (09.10.2008 в 10:42)   письмо автору
 
   для: Sake   (09.10.2008 в 09:52)
 

У меня получилось так

function blink()
{
    for (i = 1; i < 4; i++)
    {
        setTimeout('d' + i + '.style.backgroundColor="#E6E6FA";', 100 * (2 * i - 1));
        setTimeout('d' + i + '.style.backgroundColor="transparent";', 200 * i);
    }
}
setInterval("blink()", 1000);

  Ответить  
 
 автор: Sake   (09.10.2008 в 11:47)   письмо автору
 
   для: Keda   (09.10.2008 в 10:42)
 

Спасибо ОГРОМНОЕ, Keda!!!! Всё грамотно и просто! :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования