Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.05.2012, 03:40
Аватар для Anbu
Новичок на форуме
Отправить личное сообщение для Anbu Посмотреть профиль Найти все сообщения от Anbu
 
Регистрация: 14.05.2012
Сообщений: 3

Скрип: логическая функция работающая с датами
добрый день. я новичок в javascript и поэтому не кричите пожалуйста что я не подумал над своей проблемой сам - я подумал и не мало, но без советов и наставлений более знающих товарищей я много-го не понимаю и прошу помощи:
в библиотеках книги выдаются на срок в 14 дней и я хочу написать скрип который будет автоматически выводить эту дату на основе текущей даты +в нем будет немного логических операций.

для полной ясности приведу пример: библиотека работает со вторника по субботу(воскресение и понедельник - выходные дни). я бы хотел написать скрипт в таком"цикле?":при загрузке страницы скрипт определяет дату и день(выходной или рабочий)
-если день выходной то выводится сообщение "сегодня книги не выдаются"
-если будний то к определившейся скриптом дате прибавляется 14 дней и тут снова:
-если полученный день выходной то к к этому дню прибавляется еще 1 день и снова проверяется на выходной или рабочий
-если полученный день рабочий то выводится сообщение "сегодня книги выдаются на" + дата полученного дня + месяц полученного дня.


также в дальнейшем я попробую добавить в исключение официальные праздники чтобы во время праздников тоже выводилось сообщение "сегодня книги не выдаются", но об этом я пока не заикаюсь так как мне нада разобраться сначала с тем что я уже попробовал написать на javascript.
и так выкладываю мои скудные наверняка с кучей ошибок наработки:
( прошу не стебите мои html и css коды - они еще сырые и все равно будут правиться, а если есть какие-то конкретные замечания то подскажите если не влом. это мой первый сайт и вообще первое занятие которое я делаю с интересом) p.s. я делаю в мозиле - под остальные браузеры буду потом отлаживать:


------------изображение для наглядности---------



-------HTML---------

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<title>скрипт</title>
</head>
<body>
<div class="informator">
<table id="st1" width="182px">
<tr>
<td height="118px" colspan="3" callspacing="17" align="center"><p>СЕГОДНЯ<br/> КНИГИ<br/> ВЫДАЮТСЯ <br/> НА</p></td>
</tr>
<tr>
<td id="sd" height="75px" colspan="3">29</td>
</tr>
<tr>
<td height="40px" colspan="3" align="center">Февраля</td>
</tr>
</table>
<div class="info4">
</div>
<div class="info5">
</div>
<div class="info6">
</div>
</div>
</body>
</html>


-------------CSS-------------(шрифты для css будут лежать в папке с сайтом на хостинге)



@charset "utf-8";
/* CSS Document */
@font-face{
font-family: Archangelsk;
src: url('../fonts/Archangelsk.ttf');
font-weight: normal;
font-style: normal;
}
*{
padding:0; margin:0;
}
body{
background:#dfbf6b;
}
.informator{
margin: 25px;
padding-bottom: 200px;
height: auto;
width: 216px;
border-radius: 10px;
border-style:solid;
border-width:3px;
border-color: #311305;
background:#dfbf6b;
background: -webkit-linear-gradient(top, #ddb86f 0%, #957435 67%, #9f7d3c 80%, #ddb86f 99%, #eee2ca 100%);
background: -moz-linear-gradient(top, #ddb86f 0%, #957435 67%, #9f7d3c 80%, #ddb86f 99%, #eee2ca 100%);
background: -o-linear-gradient(top, #ddb86f 0%, #957435 67%, #9f7d3c 80%, #ddb86f 99%, #eee2ca 100%);
box-shadow: #000 1px 1px 15px,#000 1px -1px 15px;
}
.info4{
clear:left;
width: 176px;
height: 123px;
border:3px solid;
border-color: #624118;
margin-left: 17px;
background-color:#9C7A3A;
}
#st1{
margin-left: 17px;
width: 176pxs;
margin-left: 17px;
text-align:center;
border-spacing: 0px 17px;
font: Bold 28px "Archangelsk";
color:#fffc01;
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}
#st1 td{
border:3px solid;
border-color: #624118;
empty-cells: hide;
background-color:#AE8B49;
}
#sd, #se{
font: Bold 75px "Archangelsk";
text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000;
color:#F00;
}


---------JS--------(код я не подключал еще к html - мнебы сначала функцию разобрать - наверняка в ней миллион ошибок.. )

<SCRIPT LANGUAGE="JavaScript">
<!-- //
var d=document
var t=newDate()
var fday=new Array ("Воскресение","Понедельник" ,"Вторник","Среда","Четверг"," ятница","Суббота")
var fmonth=new Array ("Января","Февраля","Марта","А реля","Мая","Июня","Июля","Авг ста","Сентября","Октября","Но ября","Декабря")
function fbook ()
{
var s
t.getDate()
var nday= t.getDate()
if (nday=0 || nday=1)
{
s="СЕГОДНЯ<br/> КНИГИ<br/> НЕ <br/> ВЫДАЮТСЯ"
}
else{
var h= t.setDate(t.getDate() + 14)
var k= fday[h]
if(h=0 || h=1)
{
s= h+1
}
else{
s="СЕГОДНЯ<br/> КНИГИ<br/> ВЫДАЮТСЯ <br/> НА" + <br/> + h + <br/> + fmonth[h]
}
}
//-->
</SCRIPT>

конец скрипта смазан так как я не сумел разобраться в этом + я не понял как выводить определенные значения фенкции в определенные ячейки. можно также не отвечать как делается а указать отрезок кода и ссылку на материал где об этом можно почитать подробно

Последний раз редактировалось Anbu, 14.05.2012 в 03:42. Причина: добавил текст
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2012, 05:39
Аватар для Anbu
Новичок на форуме
Отправить личное сообщение для Anbu Посмотреть профиль Найти все сообщения от Anbu
 
Регистрация: 14.05.2012
Сообщений: 3

Сообщение от nasqad
я вот сначала написал прекрасный скрипт по вашему условию
потом дочитал ваш пост и понял что вы это уже сделали
я почему-то уверен что скрипт у меня все-таки кривой и нада было его сделать так ( я более точно смогуразобраться в скрипте когда пойму как вывести результат функции хотябы не подключаяего к таблице (спасибо за ссылку обязательно прочитаю когда проснусь окончательно часа через3-4)):

<SCRIPT LANGUAGE="JavaScript">
<!-- //
var d=document
var t=newDate()
var fday=new Array ("Воскресение","Понедельни к" ,"Вторник","Среда","Четверг"," �ятница","Суббота")
var fmonth=new Array ("Января","Февраля","Марта","А �реля","Мая","Июня","Июля","Ав � �ста","Сентября","Октября","Н о ября","Декабря")
function fbook ()
{
var s
t.getDate()
var nday= t.getDate()
var z=fday[nday]
if (z=0 || z=1)
{
s="СЕГОДНЯ<br/> КНИГИ<br/> НЕ <br/> ВЫДАЮТСЯ"
}
else{
var h= t.setDate(t.getDate() + 14)
var k= fday[h]
if(k=0 || k=1)
{
s= h+1
}
else{
s="СЕГОДНЯ<br/> КНИГИ<br/> ВЫДАЮТСЯ <br/> НА" + <br/> + h + <br/> + fmonth[h]
}
}
//-->
</SCRIPT>
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2012, 05:54
Аватар для Anbu
Новичок на форуме
Отправить личное сообщение для Anbu Посмотреть профиль Найти все сообщения от Anbu
 
Регистрация: 14.05.2012
Сообщений: 3

ой блин забыл то что хотел дописать покопался в инете и нашел:9 мая 2012 года– среда, это середина недели, преноса выходных нет, один выходной.

12 июня 2012 года – День России – приходится на вторник. Согласно постановлению Правительства выходной переносится с субботы 9 июня на понедельник 11 июня; то есть в День России отдыхаем 3 дня: 10,11 и 12 июня. 9 июня 2012 года -рабочая суббота.
9 мая тоже используем так как это было недавно и можно просчитать/проверить вычисления скрипта вручную)
тоесть выходные вперед и назад это 9 мая 2012,10 июня 2012,11 июня 2012,12 июня 2012. и в скрипт нада переписать так?:
<SCRIPT LANGUAGE="JavaScript">
<!-- //
var d=document
var t=newDate()
var fday=new Array ("Воскресение","Понедельни к" ,"Вторник","Среда","Четверг"," �� �ятница","Суббота")
var fmonth=new Array ("Января","Февраля","Марта","А �� �реля","Мая","Июня","Июля","Ав �� �ста","Сентября","Октября","Н о ября","Декабря")
function fbook ()
{
var s
t.getDate()
var nday= t.getDate()
var z=fday[nday]
if (z=0 || z=1)
{
s="СЕГОДНЯ<br/> КНИГИ<br/> НЕ <br/> ВЫДАЮТСЯ"
}
else{
var h= t.setDate(t.getDate() + 14)
var k= fday[h]
if(k=0 || k=1 || h=new Date(2012, 5, 9) || h=new Date(2012, 6, 10) || h=new Date(2012, 6, 11) || h=new Date(2012, 6, 12))
{
s= h+1
}
else{
s="СЕГОДНЯ<br/> КНИГИ<br/> ВЫДАЮТСЯ <br/> НА" + <br/> + h + <br/> + fmonth[h]
}
}
//-->
</SCRIPT>
Ответить с цитированием
Ответ



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

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