Помогите разобрать скрипт!
Сделал вот такой секундомер из десяти картинок с изображением цифр.
(сам скрипт) <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, время: 16:11. |