|
|
|
| хочу упростить код:
из этого:
document.getElementById("div_0").style.left = left_0;
document.getElementById("div_1").style.left = left_1;
document.getElementById("div_2").style.left = left_2;
document.getElementById("div_3").style.left = left_3;
document.getElementById("div_4").style.left = left_4;
|
сделать это:
for(var i = 0; i < 5; i++)
{
document.getElementById("div_" + i +"").style.left = left_0;
}
|
ВОПРОС!
как к
добавить
Спасибо! | |
|
|
|
|
|
|
|
для: freeing
(12.06.2008 в 17:10)
| | Укажите эти значения в массиве и извлекайте их по значению итерации цикла. | |
|
|
|
|
|
|
|
для: sim5
(12.06.2008 в 17:35)
| | а пример можно? | |
|
|
|
|
|
|
|
для: freeing
(12.06.2008 в 17:37)
| |
<script>
var left = new Array;
left[0] = 200;
left[1] = 220;
left[2] = 100;
left[3] = 180;
left[4] = 240;
for(var i = 0; i < 5; i++) {
document.getElementById("div_" + i +"").style.left = left[i];
}
</script>
|
| |
|
|
|
|
|
|
|
для: freeing
(12.06.2008 в 17:10)
| |
for (var i = 0; i < 5; i++)
{
document.getElementById ("div_" + i).style.left = eval ("left_" + j);
}
| Работать, конечно, будет, но... бред полный:-) | |
|
|
|
|
|
|
|
для: PAT
(12.06.2008 в 17:38)
| | почему? | |
|
|
|
|
|
|
|
для: freeing
(12.06.2008 в 17:43)
| | Во-первых, потому, что я сделал ошибку, и вместо i написал j - надо eval ("left_" + i)
А во-вторых... использование метода eval в скрипте - признак непрофессионализма.
Это как раньше, в древних языках программирования (например, в Fortran4 или в PL1, и даже в Алмире...) все операторы писались отдельно на каждой строке и строки нумеровались последовательными номерами (метками). И имелся оператор "безусловного перехода" GOTO метка (перед которым, кстати, тоже надо было ставить свою метку).
Так вот, был четкий критерий профессионализма программистов: если использовался в программе хоть один оператор GOTO, значит программист - лох. | |
|
|
|
|
|
|
|
для: PAT
(12.06.2008 в 18:03)
| | ==80). так зачем ты eval предложил? | |
|
|
|
|
|
|
|
для: freeing
(12.06.2008 в 18:11)
| | sim5 <? СПАСИБО! | |
|
|
|
|
|
|
|
для: freeing
(12.06.2008 в 18:11)
| | Задача ТАК была поставлена, потому и предложил :-)
Кстати, чтобы реально работало не только в MSIE, необходимо ещё и пикселы добавить:
document.getElementById ("div_" + i).style.left = left [i] + 'px';
или
document.getElementById ("div_" + i).style.left = eval ("left_" + i) + 'px';
|
PS. Плюс пустота в данном случае в методе getElementById совершенно не нужна. | |
|
|
|
|
|
|
|
для: PAT
(12.06.2008 в 18:31)
| | Ой, да, действительно забыл рх указать. Только не понятно, нафига это нужно, если для пяти элементов всего, вигоднее без цикла, чем все это городить - урезаем запись в одном месте, добавляем в другом. ) | |
|
|
|