Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Срочно у меня скриптне работает


Рекомендуемые сообщения

Не понимаю почему мой скрипт не работает , вроде все правильно сделал ,а

он даже не выводит на страницу какие нибудь данные.Если вам нетрудно объясните почему он не работает и по подробнее , а то до меня туго доходит.

:doh: ;)

Заранее спасибо

Ссылка на комментарий
Поделиться на другие сайты

Непременно объясним, если ты скажешь, о каком именно скрипте идет речь.

Ссылка на комментарий
Поделиться на другие сайты

Извиняюсь я забыл про сам скрипт.

:no: :D

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head><title>Java Script</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<body>

<script language="javascript"type="text/javascript">

<!--

//Объявляем переменные.

var d = newDate();

var textday = null;

var textmonth = null;

var day = getDay();

var month = getMonth();

function dney()

{

//Получаем значения для дня недели.

if (d.day == 0)

{

textday = "Понедельник";

}

else

if (d.day == 1)

{

textday = "Вторник";

}

else

if (d.day == 2)

{

textday = "Среда";

}

else

if (d.day == 3)

{

textday = "Четверг";

}

else

if (d.day == 4)

{

textday = "Пятница";

}

else

if (d.day == 5)

{

textday = "Суббота";

}

else

if (d.day == 6)

{

textday = "Воскресение";

}

}

function mesac()

{

//Получаем значения для месяца.

if (d.month == 0)

{

textmonth = "Январь";

}

else

if (d.month == 1)

{

textmonth = "Февраль";

}

else

if (d.month == 2)

{

textmonth = "Март";

}

else

if (d.month == 3)

{

textmonth = "Апрель";

}

else

if (d.month == 4)

{

textmonth = "Май";

}

else

if (d.month == 5)

{

textmonth = "Июнь";

}

else

if (d.month == 6)

{

textmonth = "Июль";

}

else

if (d.month == 7)

{

textmonth = "Август";

}

else

if (d.month == 8)

{

textmonth = "Сентябрь";

}

else

if (d.month == 9)

{

textmonth = "Октябрь";

}

else

if (d.month == 10)

{

textmonth = "Ноябрь";

}

else

if (d.month == 11)

{

textmonth = "Декабрь";

}

}

//Выводим данные на экран.

document.write (textday+" "getDate()+" "textmonth+"2006");

//-->

</script>

</body>

</html>

Ссылка на комментарий
Поделиться на другие сайты

alex45:

Вот откорректированный вариант:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head><title>Java Script</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<body>

<script language="javascript"type="text/javascript">

<!--

//Объявляем переменные.

var d = new Date();

var textday = null;

var textmonth = null;

var day = d.getDay();

var month = d.getMonth();

var dat =d.getDate();

function dney()

{

//Получаем значения для дня недели.

if (day == 1)

{

textday = "Понедельник";

}

else

if (day == 2)

{

textday = "Вторник";

}

else

if (day == 3)

{

textday = "Среда";

}

else

if (day == 4)

{

textday = "Четверг";

}

else

if (day == 5)

{

textday = "Пятница";

}

else

if (day == 6)

{

textday = "Суббота";

}

else

if (day == 0)

{

textday = "Воскресение";

}

}

function mesac()

{

//Получаем значения для месяца.

if (month == 0)

{

textmonth = "Январь";

}

else

if (month == 1)

{

textmonth = "Февраль";

}

else

if (month == 2)

{

textmonth = "Март";

}

else

if (month == 3)

{

textmonth = "Апрель";

}

else

if (month == 4)

{

textmonth = "Май";

}

else

if (month == 5)

{

textmonth = "Июнь";

}

else

if (month == 6)

{

textmonth = "Июль";

}

else

if (month == 7)

{

textmonth = "Август";

}

else

if (month == 8)

{

textmonth = "Сентябрь";

}

else

if (month == 9)

{

textmonth = "Октябрь";

}

else

if (month == 10)

{

textmonth = "Ноябрь";

}

else

if (month == 11)

{

textmonth = "Декабрь";

}

}

dney()

mesac()

//Выводим данные на экран.

document.write (dat+"."+textday+"."+textmonth+"."+"2006");

//-->

</script>

</body>

</html>

Ссылка на комментарий
Поделиться на другие сайты

Что касается ответа на вопрос

почему мой скрипт не работает?

То могу порекомендовать сначала изучить алгоритмизацию, потом JavaScript и лишь потом писать скрипты, и быть при этом внимательнее :no:

Вот рабочий скрипт с исправленными ошибками.

<html><head><title>My Java Script</title></head><body><script language="JavaScript"><!--var textday, textmonth, day, month, year, d; //объявляем переменные, все разомd	 = new Date();		  //Создаем новый объект Datemonth = d.getMonth();		//Получаем месяцday   = d.getDay();		 //Получаем деньyear  = d.getYear();		 //Получаем годswitch (day) { case 1 : textday = "Понедельник"; break; case 2 : textday = "Вторник"; break; case 3 : textday = "Среда"; break; case 4 : textday = "Четверг"; break; case 5 : textday = "Пятница"; break; case 6 : textday = "Суббота"; break; case 0 : textday = "Воскресенье"; break;}switch (month) { case 0 : textmonth  = "Январь"; break; case 1 : textmonth  = "Февраль"; break; case 2 : textmonth  = "Март"; break; case 3 : textmonth  = "Апрель"; break; case 4 : textmonth  = "Май"; break; case 5 : textmonth  = "Июнь"; break; case 6 : textmonth  = "Июль"; break; case 7 : textmonth  = "Август"; break; case 8 : textmonth  = "Сентябрь"; break; case 9 : textmonth  = "Октябрь"; break; case 10 : textmonth = "Ноябрь"; break; case 11 : textmonth = "Декабрь"; break;}document.write (textday+" "+textmonth+" "+year);//--></script></body></html>

P.S. Сколько раз тебе говорить? Пиши компактнее!

P.P.S. Тролль меня опередил :D Но у меня версия лаконичнее :(

Изменено пользователем Siberex
Ссылка на комментарий
Поделиться на другие сайты

Siberex:

Все это, честно говоря, не ахти... Вот более правильный подход, хотя и тут можно было бы кое-что сократить.

<head>

<title>Java Script</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

</head>

<body>

<script language="javascript"type="text/javascript">

<!--

var d = new Date();

var day = d.getDay();

var month = d.getMonth();

var dat =d.getDate();

var textday = new Array ("Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота");

var textmonth = new Array ("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");

document.write (dat+"."+textday[day]+"."+textmonth[month]+"."+"2006");

//-->

</script>

</body>

</html>

Ссылка на комментарий
Поделиться на другие сайты

Верно, конечно, просто я хотел более-менее понятно для участника написать :D

А в твоем скрипте я даже не заю, что ещё можно сократить ещё больше, разве что html кое-где повырезать, но это к срипту не будет относиться :(

И ещё у тебя год почему-то заранее 2006-й заложен :no:

а тут <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />, учитывая /> можно content="text/xhtml" использовать, но это уже лирика :)

Изменено пользователем Siberex
Ссылка на комментарий
Поделиться на другие сайты

Siberex:

И ещё у тебя год почему-то заранее 2006-й заложен
Так он у alex45 уже был заложен, а я сдирал с него тяп-ляп со всеми ошибками, корректируя только важное. А сократить можно исключением нескольких переменных, прямо задавая индексы элементов массива выражениями типа textday[d.getDay()]

Ну и, конечно, заголовок страницы я совсем не глядя скопировал, там масса лишнего, надо его взять у тебя. Единственное, что я бы в нем оставил, это указание кодового набора, иначе на локализованных Windows в других странах придется устанавливать правильную кодировку вручную.

Ссылка на комментарий
Поделиться на другие сайты

Тогда, на основе всего вышесказанного, самый компактный код будет таким:

<html><head><title>Java Script</title><meta http-equiv="Content-Type" content="text/xhtml; charset=iso-8859-1" /></head><body><script language="JavaScript"><!--var d = new Date();var textday = new Array ("Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");document.write (d.getDate()+", "+textday[d.getDay()]+", "+textday[d.getMonth()+7]+", "+d.getYear()); //--></script></body></html>

Количество массивов, имхо, целесообразно сократить до одного :no:

alex45: Пользуйся! :D

Ссылка на комментарий
Поделиться на другие сайты

Хотя воистину самым компактным будет такой код:

<script language="JavaScript"><!--var d = new Date();document.write (d.toLocaleDateString()); //--></script>

:no:

Изменено пользователем Siberex
Ссылка на комментарий
Поделиться на другие сайты

Еще не воистину :) . По проторенной дорожке можно упростить до:

<script language="JavaScript">document.write(new Date().toLocaleDateString());</script>

Ссылка на комментарий
Поделиться на другие сайты

Согласен, меньше по-моему уже просто нельзя :doh: Разве что какое-нибудь GZip-сжатие использовать :)

Хотя в принципе на 12 байт ещё можно сократить:

<body onload="this.document.write(new Date().toLocaleDateString())"></body>

:doh:

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...