Помогите разобрать скрипт!
Сделал вот такой секундомер из десяти картинок с изображением цифр.
(сам скрипт)
<script language="javascript">
function c()
{
d = new Date()
s = d.getSeconds()
if (s >= 0)
{(document.pic1.src = s + ".gif")}
if (s >= 0)
{(document.pic0.src = "0.gif")}
if (s >= 10)
{(document.pic1.src = s - 10 + ".gif")}
if (s >= 10)
{(document.pic0.src = "1.gif")}
if (s >= 20)
{(document.pic1.src = s - 20 + ".gif")}
if (s >= 20)
{(document.pic0.src = "2.gif")}
if (s >= 30)
{(document.pic1.src = s - 30 + ".gif")}
if (s >= 30)
{(document.pic0.src = "3.gif")}
if (s >= 40)
{(document.pic1.src = s - 40 + ".gif")}
if (s >= 40)
{(document.pic0.src = "4.gif")}
if (s >= 50)
{(document.pic1.src = s - 50 + ".gif")}
if (s >= 50)
{(document.pic0.src = "5.gif")}
setTimeout('c()', 500)
}
</script>
Все работает, вот только бесит, что if для каждого цикла приходится по два раза вбивать. А хотелось бы, чтобы было так:
if (s >= 0)
{(document.pic1.src = s + ".gif")}
{(document.pic0.src = "0.gif")}
Но так третью строку начинает глючить и не фига не работает. Догадываюсь, что ошибся где-то в выражениях... Вроде {} закрывают команду, а следовательно третья строка уже к if не имеет отношения. В общем, помогите советом, кто знает! |
if (s >= 0)
{
document.pic1.src = s + ".gif";
document.pic0.src = "0.gif";
}
просьба к автору, на форуме есть специальная кнопочка для добавления листингов. Так же посоветовал бы воспользоватся, каким-либо современным и толковым справочником, так как судя по стилю написания вами скрипта, вы занимаетесь недавно. Попробуйте книжки, описанные в разделе "книги", а также почитайте подборку статей автора данного ресурса, благо там написанно довольно понятно. Желаю вам удачи на нелегком и тернистом пути WEB-програмирования;) |
Спасибо за помощь и за совет! Да, занимаюсь недавно.
|
Да пожалуйста.:D
|
А попробую посоветовать сделать через switch - case.
|
Цитата:
ЗЫ: Я не в курсе как делается целоцисленное деление в JS. что-то не нашел ничего кроме старого-доброго %. может подскажите какие-нибудь прямые функции. А так в голове крутится парочка обходных вариантов |
Math.round() - округляет 21,7 = 22; 21,3 = 21
Math.floor() - по меньшему целому 21,7 = 21; 21,2 = 21; Math.ceil() - по большему целому 21,7 = 22; 21,2 = 22; |
БОьшое спасибо. это как раз и есть один из путей, о котором я подумал((
ДУмал, есть что-то по типу mod(x,y), но в принципе и это сойдет |
<html>
<head>
<title>simvol</title>
<Script language="JavaScript">
function ny()
{
var s=r1.t1.value
if(s=="a")
document.write("верно")
else
alert("введите букву a");
}
</Script>
</head>
<body bgColor="Salmon">
<center>
<form name="r1">
<input type="text" name="t1">
<input type="button" name="button1" value="ok" onClick="ny()">
</form>
</center>
</body>
</html>
и что значит какая строчка заранее спасибо)))) |
<html>
<head>
<title>simvol</title>
<Script language="JavaScript">
function ny()
{
var s=r1.t1.value//получаем значение первого инпута в переменную
if(s=="a") //если эта переменная является буквой "а"
document.write("верно")//то выводим надпись "верно"
else//иначе
alert("введите букву a");//иначе выводим наджпись"введите букву a"
}
</Script>
</head>
<body bgColor="Salmon">
<center>
<form name="r1">
<input type="text" name="t1">
<input type="button" name="button1" value="ok" onClick="ny()">
</form>
</center>
</body>
</html>
все это срабатывает по щелчку на кнопку (onClick="ny()" обеспечивает это) |
| Часовой пояс GMT +3, время: 06:42. |