Javascript.RU

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

Как можно сократить (и можно ли) этот скрипт (см. внутри)?
<script language = "JavaScript">
	Date.prototype.getDOY = function()
	{
		var onejan = new Date(this.getFullYear(),0,1);
		return Math.ceil((this - onejan) / 86400000);
	}
	Date.prototype.isLeapYear = function()
	{
		var year = this.getFullYear();
		return ((year & 3) == 0 && (year % 100 || (year % 400 == 0 && year)));
	}
	var today = new Date();
	var yearday = today.getDOY();
	var path = "yenonotie_files/enderi/";
	var x = 0;
	var enderi5 = new Array(
		path + "1.png",
		path + "2.png",
		path + "3.png",
		path + "4.png",
		path + "5a.png");
	var enderi6 = new Array(
		path + "1.png",
		path + "2.png",
		path + "3.png",
		path + "4.png",
		path + "5b.png",
		path + "6.png");
	var months = new Array();
	var days = new Array();
	var y = 30;

	while  (x <= 11)
	{
		months [x] = "yenonotie_files/months/" + x + ".png";
		++x;
	}
	x = 0
	while  (x <= 29)
	{
		days [x] = "yenonotie_files/days/" + x + ".png";			
		++x;
	}
	x = 1;
	if (yearday >= 361)
	{
		if (today.isLeapYear())
		{
			document.getElementById("pic1").src = "yenonotie_files/main/enderi6.png";
			document.getElementById("pic2").src = enderi6 [yearday - 361];
		}
		else
		{
			document.getElementById("pic1").src = "yenonotie_files/main/enderi5.png";
			document.getElementById("pic2").src = enderi5 [yearday - 361];
		}
	}
	else
	{
		while (y <= yearday - 1)
		{
			++x;
			y += 30;
		}
		yearday = yearday - (30 * (x - 1));
		document.getElementById("pic1").src = "yenonotie_files/main/calendar.png";
		document.getElementById("pic2").src = months [x];
		document.getElementById("pic3").src = days [yearday];
	}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2011, 15:27
Аспирант
Отправить личное сообщение для Hyuga_Nia Посмотреть профиль Найти все сообщения от Hyuga_Nia
 
Регистрация: 20.01.2011
Сообщений: 40

Примечание 1: Все работает, надо только сократить...
Примечание 2: Например, нельзя ли функции, которые используются только по 1 разу, не назначать заранее, а прямо в программе по действиям выполнять? Ну, то есть то, что после "function () { " вставить вместо вызова функции или как-то так...

Последний раз редактировалось Hyuga_Nia, 20.01.2011 в 15:30.
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2011, 15:55
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Hyuga_Nia
надо только сократить...
А сама задача-то в чём? Может лучше вообще по-другому все сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2011, 16:00
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

ksa,
Я сначала такой же вопрос написал, потом подумал и удалил(посмотрев на выше приведённый скрипт))))
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2011, 16:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от Skipp
написал, потом подумал и удалил
Рыцарь, ты мудр! (с) к/ф Путешественники во времени (с Ж.Рено)
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2011, 16:19
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

O_O()

__________________
.
Ответить с цитированием
  #7 (permalink)  
Старый 20.01.2011, 16:24
Аспирант
Отправить личное сообщение для Hyuga_Nia Посмотреть профиль Найти все сообщения от Hyuga_Nia
 
Регистрация: 20.01.2011
Сообщений: 40

Цитата:
Может лучше вообще по-другому все сделать?
Как?

Цитата:
А сама задача-то в чём?
Скрипт выводит вот такое:

А в последние 5 дней года такое:

(Или 6, если год високосный:
)

Последний раз редактировалось Hyuga_Nia, 20.01.2011 в 16:34.
Ответить с цитированием
  #8 (permalink)  
Старый 20.01.2011, 16:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Hyuga_Nia, что-то картинок я твоих не вижу...
Ответить с цитированием
  #9 (permalink)  
Старый 20.01.2011, 16:36
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

ksa,
лучше и не видеть!!!!

Hyuga_Nia,
Если бы понятно было бы, что да как)
__________________
.
Ответить с цитированием
  #10 (permalink)  
Старый 20.01.2011, 16:36
Аспирант
Отправить личное сообщение для Hyuga_Nia Посмотреть профиль Найти все сообщения от Hyuga_Nia
 
Регистрация: 20.01.2011
Сообщений: 40

Цитата:
Hyuga_Nia, что-то картинок я твоих не вижу...
Народ.ру глючил, теперь видишь?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как привязать к домену и закодировать скрипт? shkur Общие вопросы Javascript 4 10.11.2010 14:27
помогите,что означает этот скрипт ? RADARI Общие вопросы Javascript 1 04.08.2010 04:33
Что делает этот скрипт? Wallkost Оффтопик 4 19.03.2010 14:54
Можно ли как для произвольного массива создавать вызовы функций , имеющих на входе kefi Общие вопросы Javascript 3 17.04.2009 16:53
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00