|
|
|
|
|
для: Абырвалг
(25.05.2011 в 17:14)
| | Очень хороший скрипт получился.
Спасибо Вам огромное, | |
|
|
|
|
автор: 098765 (26.05.2011 в 17:17) |
|
|
для: Абырвалг
(25.05.2011 в 17:14)
| | - | |
|
|
|
|
|
|
|
для: pautina
(25.05.2011 в 16:48)
| | 1. Переименуйте Ваши 12-ть картинок следующим образом:
+-----------+-----------+-----------+-----------+
| img00.jpg | img01.jpg | img02.jpg | img03.jpg |
+-----------+-----------+-----------+-----------+
| img10.jpg | img11.jpg | img12.jpg | img13.jpg |
+-----------+-----------+-----------+-----------+
| img20.jpg | img21.jpg | img22.jpg | img23.jpg |
+-----------+-----------+-----------+-----------+
| PS. Первая цифра - номер строки таблицы, вторая цифра - номер столбца.
2. Первоначальную картинку - img-ferst.jpg - оставьте с тем же именем.
3. Используйте следующий код:
<style>
#mTBL {visibility: hidden}
#mTBL img {width: 135px; height: 87px}
</style>
<script>
//Предзагрузка всех 13-ти картинок
for (var p = new Array (), j = m = 0; j < 3; j++) for (var k = 0; k < 4; k++)
{p [m] = new Image (); p [m++].src = 'img' + j + '' + k + '.jpg'}
p [m] = new Image (); p [m].src = 'img-ferst.jpg';
//Собственно скрипт смены картинок
var v = 2000, x, y = new Array (), z;
function F ()
{
x = document.getElementById ('mTBL');
y [0] = y [1] = y [2] = '0123';
for (var j = 0, w = x.getElementsByTagName ('IMG'); j < w.length; j++)
w [j].src = 'img-ferst.jpg';
x.style.visibility = 'visible';
z = window.setTimeout ('S ()', v);
}
function S ()
{
for (var q, j = 0; j < 3; j++)
{
q = y [j].charAt (parseInt (Math.random () * 12345) % y [j].length);
x.rows [j].cells [q].firstChild.src = 'img' + j + '' + q + '.jpg';
y [j] = y [j].replace (new RegExp (q, ''), '');
}
if (y [0].length) window.setTimeout ('S ()', v)
else window.setTimeout ('F ()', v);
}
onload = F;
</script>
<body>
<table id="mTBL" cellpadding="0" cellspacing="0">
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
</table>
</body>
|
| |
|
|
|
|
|
|
|
для: Абырвалг
(25.05.2011 в 15:06)
| | Да именно так всё и должно работать.
С кодом не поможете.) | |
|
|
|
|
|
|
|
для: pautina
(25.05.2011 в 14:52)
| | Значит, картинок у Вас всё-таки ТРИнадцать, а не ДВЕнадцать?
Одна - одинаковая для всех ячеек на момент загрузки страницы (img-ferst.jpg), и ещё двенадцать разных (для помещения в соответствующие ячейки).
1 + 12 = 13 или будете спорить с арифметикой? :-)
-----
1. Страница загрузилась. В 12-ти ячейках помещены 12-ть одинаковых картинок img-ferst.jpg
2. Через 2 секунды в 3-х ячейках вместо img-ferst.jpg должны появиться соответствующие ячейкам три картинки. В оставшихся 9-ти ячейках - все те же img-ferst.jpg
3. Ещё через 2 секунды уже в 6-ти ячейках - соответствующие 6-ть картинок, а в других 6-ти - img-ferst.jpg
4. Ещё через 2 секунды: в 9-ти картинках - соответствующие 9-ть картинок, в 3-х - img-ferst.jpg
5. Ещё через 2 секунды: во всех 12-ти ячейках - 12-ть соответствующих картинок.
6. Наконец, через ещё 2 секунды во всех 12-ти ячейках все картинки изменяются на первоначальную img-ferst.jpg, т.е. мы возвращаемся к состоянию, описанному в пункте 1. И выполняем пункты 2-6 заново.
7. На всех этапах (пункты 2-5) заменяемые три картинки должны находиться в разных строках таблицы.
Теперь я верно описал Вашу задачу?
Или опять у Вас возникнут какие-то проблемы с арифметикой?
Прочитайте внимательно, исправьте - если я что-то написал неверно.
Только ЧЕЛОВЕЧЕСКИМ языком. Чтобы было "ежу понятно". И чтобы не было проблем с арифметикой.
Свистните - тогда дам код. | |
|
|
|
|
|
|
|
для: Абырвалг
(25.05.2011 в 12:00)
| | Да верно,
в момент загрузки страницы в 12 -ти ячейках таблицы должно грузится изображение img-ferst.jpg, после картинки меняются (в первой, 2-ой, 3-ей строке меняется сначала 1 картинка, потом 2,3,4) но эта должен быть рисунок с своим путем img-1.jpeg,...img-12.jpeg а не
x.rows [j].cells [q].firstChild.style.backgroundColor = 'red';
|
Может здесь как то использовать конструкцию массивов
var imgslide=new Array();
imgslide[0]=new Image();
imgslide[1]=new Image();
imgslide[2]=new Image();
imgslide[3]=new Image();
...
imgslide[11]=new Image();
imgslide[0].src ="img-1.jpg";
imgslide[1].src ="img-2.jpg";
imgslide[2].src ="img-3.jpg";
imgslide[3].src ="img-4.jpg";
...
imgslide[11].src ="img-12.jpg"; | |
|
|
|
|
|
|
|
для: pautina
(25.05.2011 в 10:13)
| | Ячеек у Вас двенадцать.
Картинок у Вас тоже двенадцать.
Каждой ячейке соответствует своя определённая картинка.
Вопрос: что должно быть видно в каждой из двенадцати ячеек в момент, когда страница только-только загрузилась? | |
|
|
|
|
|
|
|
для: pautina
(24.05.2011 в 20:28)
| | Рисунков всего у меня 12.
Как сделать чтобы
x.rows [j].cells [q].firstChild.style.backgroundColor = 'lime';
|
Мы не задавали цвет, а выбрали 1 из 12 рисуноков img-1.jpg...img-12.jpg | |
|
|
|
|
|
|
|
для: pautina
(24.05.2011 в 17:01)
| | Да хороший скрипт вышел, спасибо за ошибки
Немного изменил его под себя
<style>
img { width: 135px; height: 87px; background:url(bg_img_right_header.jpg) left top no-repeat; }
</style>
<script>
/* var numimg = 0;
var imgslide=new Array();
imgslide[0]=new Image();
imgslide[1]=new Image();
imgslide[2]=new Image();
imgslide[3]=new Image();
imgslide[0].src ="img-1.jpg";
imgslide[1].src ="img-2.jpg";
imgslide[2].src ="img-3.jpg";
imgslide[3].src ="img-4.jpg";
xx = Math.floor(Math.random( ) * 4); */
var v = 2000, x, y = new Array (), z;
function F ()
{
x = document.getElementById ('mTBL');
y [0] = y [1] = y [2] = '0123';
for (var j = 0, w = x.getElementsByTagName ('IMG'); j < w.length; j++)
w [j].style.backgroundColor = 'red';
z = window.setTimeout ('S ()', v);
}
function S ()
{
for (var q, j = 0; j < 3; j++)
{
q = y [j].charAt (parseInt (Math.random () * 12345) % y [j].length);
/* x.rows [j].cells [q].firstChild.src='img-4.jpg'; */
x.rows [j].cells [q].firstChild.src = 'imgslide[numimg%xx].src';
y [j] = y [j].replace (new RegExp (q, ''), '');
}
if (y [0].length) window.setTimeout ('S ()', v)
else window.setTimeout ('F ()', v);
}
onload = F;
</script>
|
html
<table id="mTBL" cellpadding="0" cellspacing="0">
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
<tr><td><img></td><td><img></td><td><img></td><td><img></td></tr>
</table>
|
Где то видимо я неточно описал.
Сейчас картинка сменяется только на 1 рисунок, как сделать чтоб рисунок менялся на 1 из 4
И цикл проходит 1 раз.
Ни подскажете какие изменения сделать? | |
|
|
|
|
|
|
|
для: pautina
(24.05.2011 в 17:01)
| | Так сколько у Вас рисунков-то?
12-ть или всё же 24?
Если 12-ть "зелёных", то тогда ЧТО должно показываться на месте отсутствующего рисунка (вместо "красного")? | |
|
|
|
|