|
|
|
|
|
для: Vik_Tor
(19.05.2006 в 12:43)
| | Миши кололись, плакали, но продолжали упорно есть кактус...
После откапывания указанных выше собак позитивный результат не имеет место быть :((
Последняя версия:
<html><head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<title>Календарь</title>
<script language="JavaScript">
function GoToEventDate() {
// get today's date
var today = new Date();
// get today's day
var day = today.getDate();
// get today's month
var month = today.getMonth()+1;
// массив с датами событий
var DayOfEvent = new Array();
DayOfEvent[0] = 5;
DayOfEvent[1] = 20;
DayOfEvent[2] = 25;
DayOfEvent[3] = 9;
DayOfEvent[4] = 9;
DayOfEvent[5] = 19;
DayOfEvent[6] = 19;
DayOfEvent[7] = 25;
DayOfEvent[8] = 1;
DayOfEvent[9] = 1;
DayOfEvent[10] = 5;
DayOfEvent[11] = 15;
DayOfEvent[12] = 20;
DayOfEvent[13] = 10;
DayOfEvent[14] = 10;
DayOfEvent[15] = 20;
DayOfEvent[16] = 20;
DayOfEvent[17] = 1;
DayOfEvent[18] = 5;
DayOfEvent[19] = 20;
DayOfEvent[20] = 9;
DayOfEvent[21] = 9;
DayOfEvent[22] = 19;
DayOfEvent[23] = 19;
DayOfEvent[24] = 1;
DayOfEvent[25] = 1;
DayOfEvent[26] = 5;
DayOfEvent[27] = 20;
DayOfEvent[28] = 10;
DayOfEvent[29] = 10;
DayOfEvent[30] = 20;
DayOfEvent[31] = 20;
// массив с месяцами событий
var MonthOfEvent = new Array();
MonthOfEvent[0] = 1;
MonthOfEvent[1] = 1;
MonthOfEvent[2] = 1;
MonthOfEvent[3] = 2;
MonthOfEvent[4] = 2;
MonthOfEvent[5] = 2;
MonthOfEvent[6] = 2;
MonthOfEvent[7] = 2;
MonthOfEvent[8] = 3;
MonthOfEvent[9] = 4;
MonthOfEvent[10] = 4;
MonthOfEvent[11] = 4;
MonthOfEvent[12] = 4;
MonthOfEvent[13] = 5;
MonthOfEvent[14] = 5;
MonthOfEvent[15] = 5;
MonthOfEvent[16] = 5;
MonthOfEvent[17] = 7;
MonthOfEvent[18] = 7;
MonthOfEvent[19] = 7;
MonthOfEvent[20] = 8;
MonthOfEvent[21] = 8;
MonthOfEvent[22] = 8;
MonthOfEvent[23] = 8;
MonthOfEvent[24] = 9;
MonthOfEvent[25] = 10;
MonthOfEvent[26] = 10;
MonthOfEvent[27] = 10;
MonthOfEvent[28] = 11;
MonthOfEvent[29] = 11;
MonthOfEvent[30] = 11;
MonthOfEvent[31] = 11;
if (document.location.toString().indexOf('#') = -1) { // проверка, существует ли в адресе ссылка на закладку внутри старницы, то есть скрипт уже отработал
for (var i = 0; i<DayOfEvent.length; i++) {
if (day <= DayOfEvent[i] && month <= MonthOfEvent[i]) { // после перехода на запись, отвечающую следующей, после сегодняшней, дате - переходим на закладку этой даты
window.location = document.location.toString() + "#d" + DayOfEvent[i] + "_" + MonthOfEvent[i];
return true;
}
}
window.location = document.location.toString() + "#d" + DayOfEvent[0] + "_" + MonthOfEvent[0]; // если до конца массива ничего не нашли, переходим на первую закладку, отвечающую певой дате
return true;
}
}
</script>
</head>
<body OnLoad = GoToEventDate()>
<H4> <a name='d5_1'></a>Событие 1</H4>
<H4> <a name='d20_1'></a>Событие 2</H4>
<H4> <a name='d25_1'></a>Событие 3</H4>
...
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Бог Зайцев
(16.05.2006 в 00:12)
| | Большое Спасибо за помощь.
Грызем гранит JS дальше :))
О результатах сообщу | |
|
|
|
|
|
|
|
для: Vik_Tor
(14.05.2006 в 19:21)
| | Собака была зверски зарыта вот здесь:
if (day <= DayOfEvent(i) ) && (month <= MonthOfEvent(i))
|
Вырывается вот так:
if (day <= DayOfEvent[i] && month <= MonthOfEvent[i])
|
Upd:
Омг, у тебя там собачье кладбище )
Вместо
var MonthOfEvent = NewAray();
|
Пишем
var MonthOfEvent = new Array();
|
И вообще убираем смачную конструкцию "NewAray();" со всего документа
Дальше я лезть не стал, но:
1. Обрати внимание на регистр в названиях функций, например правильно: indexOf()
2. Перестань использовать круглые скобки для массивов, они пригодятся тебе для функций еще: DayOfEvent(i) =>> DayOfEvent[i]
3. Если ищешь что-то в document.location, оно должно быть строчкой, правильно:
document.location.toString().indexOf('#')
|
-) | |
|
|
|
|
|
|
|
для: Vik_Tor
(14.05.2006 в 19:21)
| | Полностью в скрипт не вникал, но имена закладок должны начинаться не с цифры,
а например: #a23_11 или #d23m11
но не #23_11 это точно не сработает - можете просто набрать в адресной строке и проверить. | |
|
|
|
|
|
|
|
для: codexomega
(09.05.2006 в 21:51)
| | Конечный результат попыток:
<script language="JavaScript">
function GoToEventDate() {
// get today's date
var today = new Date();
// get today's day
var day = today.getDate();
// get today's month
var month = today.getMonth()+1;
// массив с датами событий
var DayOfEvent = NewAray();
DayOfEvent[0] = 5;
DayOfEvent[1] = 20;
DayOfEvent[2] = 25;
DayOfEvent[3] = 9;
DayOfEvent[4] = 9;
DayOfEvent[5] = 19;
DayOfEvent[6] = 19;
DayOfEvent[7] = 25;
DayOfEvent[8] = 1;
DayOfEvent[9] = 1;
DayOfEvent[10] = 5;
DayOfEvent[11] = 15;
DayOfEvent[12] = 20;
DayOfEvent[13] = 10;
DayOfEvent[14] = 10;
DayOfEvent[15] = 20;
DayOfEvent[16] = 20;
DayOfEvent[17] = 1;
DayOfEvent[18] = 5;
DayOfEvent[19] = 20;
DayOfEvent[20] = 9;
DayOfEvent[21] = 9;
DayOfEvent[22] = 19;
DayOfEvent[23] = 19;
DayOfEvent[24] = 1;
DayOfEvent[25] = 1;
DayOfEvent[26] = 5;
DayOfEvent[27] = 20;
DayOfEvent[28] = 10;
DayOfEvent[29] = 10;
DayOfEvent[30] = 20;
DayOfEvent[31] = 20;
// массив с месяцами событий
var MonthOfEvent = NewAray();
MonthOfEvent[0] = 1;
MonthOfEvent[1] = 1;
MonthOfEvent[2] = 1;
MonthOfEvent[3] = 2;
MonthOfEvent[4] = 2;
MonthOfEvent[5] = 2;
MonthOfEvent[6] = 2;
MonthOfEvent[7] = 2;
MonthOfEvent[8] = 3;
MonthOfEvent[9] = 4;
MonthOfEvent[10] = 4;
MonthOfEvent[11] = 4;
MonthOfEvent[12] = 4;
MonthOfEvent[13] = 5;
MonthOfEvent[14] = 5;
MonthOfEvent[15] = 5;
MonthOfEvent[16] = 5;
MonthOfEvent[17] = 7;
MonthOfEvent[18] = 7;
MonthOfEvent[19] = 7;
MonthOfEvent[20] = 8;
MonthOfEvent[21] = 8;
MonthOfEvent[22] = 8;
MonthOfEvent[23] = 8;
MonthOfEvent[24] = 9;
MonthOfEvent[25] = 10;
MonthOfEvent[26] = 10;
MonthOfEvent[27] = 10;
MonthOfEvent[28] = 11;
MonthOfEvent[29] = 11;
MonthOfEvent[30] = 11;
MonthOfEvent[31] = 11;
// проверка, существует ли в адресе ссылка на закладку внутри страницы, то есть скрипт уже отработал
if (document.location.indexof("#")=-1) {
for (var i = 0; i<DayOfEvent.length; i++) {
// после перехода на запись, отвечающую следующей, после сегодняшней, дате - переходим на закладку этой даты
if (day <= DayOfEvent(i) ) && (month <= MonthOfEvent(i)) {
document.location = document.location + "#" + DayOfEvent(i) + "_" + MonthOfEvent(i);
return true;
}
}
// если до конца массива ничего не нашли, переходим на первую закладку, отвечающую певой дате в году
document.location = document.location + "#" + DayOfEvent(0) + "_" + MonthOfEvent(0);
return true;
}
}
</script>
|
Не работает :(((
Подскажите, где зарыта собака? | |
|
|
|
|
|
|
|
для: codexomega
(09.05.2006 в 21:51)
| | Спасибо за ответ, завтра пропробую. | |
|
|
|
|
|
|
|
для: Vik_Tor
(07.05.2006 в 22:25)
| | Если все закладки, или ссылки, занести в массив, упорядочив по дате, тогда можно в цикле сравнивать дату закладки с сегодняшней датой.
Скажем, черновик будет выглядеть так:
var links = new Array("01/05/2006","02/05/2006","03/05/2006");
// get today's date
var today = new Date();
// get today's day
var day = today.getDate();
// get today's month
var month = today.getMonth()+1;
// get today's year
var year = today.getYear();
for(i=0; i<links.length-1; i++){
if(links[i] == todayString){
document.location="www.today.com";
else
document.location="www.tomorrow.com";
}
}
|
| |
|
|
|
|
|
|
| Уважаемый All!
Подскажите, пожалуйста, решение для следующего случая:
1. На странице в наличии ряд закладок тима dd_mm, где dd - дата, mm - номер месяца для ряда (несколько десятков) ежегодных событий.
2. Необходимо при загрузке этой страницы переходить на закладку следующего события по времени, а при отсутствии событий от текущей даты до конца года - на первое событие года.
3. Возможно, стоит продублировать имена заукладок в массиве...
Подозреваю, что решение довольно-таки простое, но в JavaScript я не силен :((
Заранее благодарен за помощь | |
|
|
|
|