Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.05.2008, 15:04
Аспирант
Отправить личное сообщение для Forgott Посмотреть профиль Найти все сообщения от Forgott
 
Регистрация: 03.05.2008
Сообщений: 37

Помогите разобрать скрипт!
Сделал вот такой секундомер из десяти картинок с изображением цифр.

(сам скрипт)

<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 не имеет отношения.
В общем, помогите советом, кто знает!

Последний раз редактировалось Андрей Параничев, 22.02.2009 в 00:04. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 05.05.2008, 15:17
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

if (s >= 0)
{
document.pic1.src = s + ".gif";
document.pic0.src = "0.gif";
}

просьба к автору, на форуме есть специальная кнопочка для добавления листингов.
Так же посоветовал бы воспользоватся, каким-либо современным и толковым справочником, так как судя по стилю написания вами скрипта, вы занимаетесь недавно.
Попробуйте книжки, описанные в разделе "книги", а также почитайте подборку статей автора данного ресурса, благо там написанно довольно понятно.
Желаю вам удачи на нелегком и тернистом пути WEB-програмирования
Ответить с цитированием
  #3 (permalink)  
Старый 05.05.2008, 15:19
Аспирант
Отправить личное сообщение для Forgott Посмотреть профиль Найти все сообщения от Forgott
 
Регистрация: 03.05.2008
Сообщений: 37

Спасибо за помощь и за совет! Да, занимаюсь недавно.
Ответить с цитированием
  #4 (permalink)  
Старый 05.05.2008, 15:24
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Да пожалуйста.
Ответить с цитированием
  #5 (permalink)  
Старый 06.05.2008, 08:11
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

А попробую посоветовать сделать через switch - case.
Ответить с цитированием
  #6 (permalink)  
Старый 06.05.2008, 20:47
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от Snipe
А попробую посоветовать сделать через switch - case.
Да, конечно вариант.Но тогда нада по целой части от деления на 10.
ЗЫ: Я не в курсе как делается целоцисленное деление в JS. что-то не нашел ничего кроме старого-доброго %. может подскажите какие-нибудь прямые функции. А так в голове крутится парочка обходных вариантов
Ответить с цитированием
  #7 (permalink)  
Старый 06.05.2008, 20:54
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Math.round() - округляет 21,7 = 22; 21,3 = 21
Math.floor() - по меньшему целому 21,7 = 21; 21,2 = 21;
Math.ceil() - по большему целому 21,7 = 22; 21,2 = 22;
Ответить с цитированием
  #8 (permalink)  
Старый 06.05.2008, 21:16
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

БОьшое спасибо. это как раз и есть один из путей, о котором я подумал((
ДУмал, есть что-то по типу mod(x,y), но в принципе и это сойдет
Ответить с цитированием
  #9 (permalink)  
Старый 21.02.2009, 21:24
akter89
 
Сообщений: n/a

<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>


и что значит какая строчка заранее спасибо))))

Последний раз редактировалось Андрей Параничев, 22.02.2009 в 00:05. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #10 (permalink)  
Старый 21.02.2009, 22:10
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

<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()" обеспечивает это)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен скрипт меню управляемого клавишами agnitumus Элементы интерфейса 4 01.10.2008 10:11
Помогите сделать полноценную замену тэгу <marquee> vasiliyb Элементы интерфейса 3 30.09.2008 04:01
Разобрать строку по байтам, а не по символам? andryshik Общие вопросы Javascript 0 22.09.2008 13:02
Скрипт "меняющееся фото" и его отражение в Мозилле osp Firefox/Mozilla 1 10.09.2008 14:11
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07