Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / календарь на JavaScript / 7 сообщений из 7, страница 1 из 1
10.06.2008, 13:16
    #35366874
new_igor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
календарь на JavaScript
Здравствуйте!
Заранее извиняюсь, за глупый вопрос, но я сегодня в первые столкнулся с js. Проблема вот в чем. Есть календарь, у него есть возможность отображать время. Изменяется это время по onclick. Мне нужно сделать drop down, то есть чтобы часы можно было выбирать (выпадающий список от 00 до 23) и минуты так же но в списке только 00 и 30. Как это сделать можно?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
    if (this.showsTime) {
        row = Calendar.createElement("tr", tbody);
        row.className = "time";

        cell = Calendar.createElement("td", row);
        cell.className = "time";
        cell.colSpan =  2 ;
        cell.innerHTML = Calendar._TT["TIME"] || " ";

        cell = Calendar.createElement("td", row);
        cell.className = "time";
        cell.colSpan = this.weekNumbers ?  4  :  3 ;

        (function(){
            function makeTimePart(className, init, range_start, range_end) {
                var part = Calendar.createElement("select", cell); //change span/select
                part.className = className; 
                part.innerHTML =init;
                part.calendar = cal;
                part.ttip = Calendar._TT["TIME_PART"];
                part.navtype =  50 ;
                part._range = [];
                if (typeof range_start != "number")
                    part._range = range_start;
                else {
                    for (var i = range_start; i <= range_end; ++i) {
                        var txt;
                        if (i <  10  && range_end >=  10 ) txt = '0' + i;
                        else txt = '' + i;
                        part._range[part._range.length] = txt;
                    }
                }
                Calendar._add_evs(part);
                return part;
            };
            var hrs = cal.date.getHours();
            var mins = cal.date.getMinutes();
            var t12 = !cal.time24;
            var pm = (hrs >  12 );
            if (t12 && pm) hrs -=  12 ;
            var H = makeTimePart("hour", hrs, t12 ?  1  :  0 , t12 ?  12  :  23 );
            var span = Calendar.createElement("span", cell);
            span.innerHTML = ":";
            span.className = "colon";
            var M = makeTimePart("minute", mins,  0 ,  59 );
            var AP = null;
            cell = Calendar.createElement("td", row);
            cell.className = "time";
            cell.colSpan =  2 ;
            if (t12)
                AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);
            else
                cell.innerHTML = " ";
...
Рейтинг: 0 / 0
10.06.2008, 15:07
    #35367220
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
календарь на JavaScript
сделайте отдельную функцию, которая не с диапазоном чисел будет работать, а тупо забивать два числа - 00 и 30. Типа такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function makeMinPart(className, init) {
                var part = Calendar.createElement("select", cell); //change span/select
                part.className = className; 
                part.innerHTML =(floor(init/ 30 )== 0 )?'00':'30';
                part.calendar = cal;
                part.ttip = Calendar._TT["TIME_PART"];
                part.navtype =  50 ;
                part._range = ['00','30'];
                Calendar._add_evs(part);
                return part;
            };
//...
var M = makeMinPart("minute", mins);
только определиться надо, как минуты округлять будете. В примере, как я понимаю, подставляются минуты от текущей даты, а здесь их надо округлить до 0 или 30 некоторым способом.
...
Рейтинг: 0 / 0
10.06.2008, 17:09
    #35367697
new_igor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
календарь на JavaScript
хм... не очень хочет работать. пустой выходит. :(
...
Рейтинг: 0 / 0
11.06.2008, 00:12
    #35368326
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
календарь на JavaScript
а я что могу поделать? Телепатией я не обладаю и не могу за Вас потыкать в календарь и понять почему не работает. Писать это нечто с нуля, чтоб на нем проверять работоспособность, тут тоже никто не собирается. Выкладывайте полностью исходник с примером.
...
Рейтинг: 0 / 0
11.06.2008, 00:20
    #35368332
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
календарь на JavaScript
illionа я что могу поделать? Телепатией я не обладаю и не могу за Вас потыкать в календарь и понять почему не работает. Писать это нечто с нуля, чтоб на нем проверять работоспособность, тут тоже никто не собирается. Выкладывайте полностью исходник с примером.
Ага, значит мы созрели для форума, в который можем выкладывать (по клику) работающие примерчики. Ты никргда об этом не думала? Сделаем.
...
Рейтинг: 0 / 0
11.06.2008, 00:45
    #35368345
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
календарь на JavaScript
2 new_igor Не надо постить так много букоф.
...
Рейтинг: 0 / 0
11.06.2008, 02:31
    #35368397
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
календарь на JavaScript
думала и так понятно - я имела в виду не "много букоф", а архив с исходником, вложенный в сообщение.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / календарь на JavaScript / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]