Jump to content
  • 0

Как правильно настроить счетчик времени setTimeout


Fluffy
 Share

Question

Есть ячейки таблицы, а в них рисунки - изначально невидимы.

<td><img border="0" src="../images/1.gif" id=pict1 style="visibility: hidden"></td>
<td><img border="0" src="../images/2.gif" id=pict2 style="visibility: hidden"></td>
<td><img border="0" src="../images/3.gif" id=pict3 style="visibility: hidden"></td>

Есть скрипт (явно неправильный:o) который срабатывает на onload

<body onload=""VisiblePicture()">

<script type=text/JavaScript>
function VisiblePicture() {
setTimeout(VisiblePicture,2000);
{
document.getElementById("pict1").style.visibility="visible";
document.getElementById("pict2").style.visibility="visible";
document.getElementById("pict2").style.visibility="visible";
}
}
</script>

Я хотела бы, чтобы рисунки в ячейках становились видимыми через 2 секунды после загрузки страницы и каждый рисунок появлялся через 2 секунды после предыдущего. Я понимаю, что у меня скрипт написан неправильно, но не знаю, как настроить.:)

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Ну с кавычками это я просто описалась (одну кавычку написала, другую скопировала и не заметила).

А в принципе я чувствую что как-то так

создайте переменную-счетчик

и по ней каждые 2 сек открываете рисунки

и надо делать - только я плохо знаю Javascript - мне бы кода примерчик, а то не понимаю.

Link to comment
Share on other sites

  • 0

что-то типа етого:

<script type=text/JavaScript>
setTimeout("VisiblePicture()",2000);
var n = 1;
function VisiblePicture() {
document.getElementById("pict"+n).style.visibility="visible";
n++;
}
</script>

вроде так. неуверен

но ета ф-я в таком случае будет запускаться постоянно. надо поставить проверку,

что если заданное кол-во рисунков открылось (проверяем по счетчику), в таком случае прибить setTimeout(как ето зделать, сорри непомню)

Link to comment
Share on other sites

  • 0

Я попробовала, но получается наоборот - т.е. она не постоянно срабатывает, а всего лишь 2 раза - для "pict1" и "pict2". Причем для "pict1" она срабатывает мгновенно, а не через 2000 мс. Почему она дальше не хочет увеличивать n не знаю.:o

Link to comment
Share on other sites

  • 0

Если правильно понял, то примерно так:

<html>
<head>
<style>
img {width:50px;height:50px;border:1px solid red;visibility:hidden;}
</style>
</head>
<body>
<script type="text/JavaScript">
setTimeout("VisiblePicture()",2000);
var n = 1;
function VisiblePicture() {
document.getElementById('pict'+n).style.visibility="visible";
n++;
var m=3; //количество картинок
if (n<=m) {setTimeout("VisiblePicture()",2000);}
}
</script>
<img id="pict1" src="" alt="">
<img id="pict2" src="" alt="">
<img id="pict3" src="" alt="">
</body>
</html>

Link to comment
Share on other sites

  • 0

var timer = null;
var colImg = 5; //Количество картинок
var i = 1; //Текущая картинка

window.onload = function()
{
timer = setInterval(showImg, 2000);
}

function showImg()
{
document.getElementById('pict'+i).style.visibility='visible';
if(i == colImg) clearInterval(timer);
i++;
}

Код не проверял, возможно с ошбками, главное, чтобы была идея ясна.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy