powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / календарь на JavaScript
7 сообщений из 7, страница 1 из 1
календарь на JavaScript
    #35366874
new_igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Заранее извиняюсь, за глупый вопрос, но я сегодня в первые столкнулся с 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
календарь на JavaScript
    #35367220
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте отдельную функцию, которая не с диапазоном чисел будет работать, а тупо забивать два числа - 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
календарь на JavaScript
    #35367697
new_igor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм... не очень хочет работать. пустой выходит. :(
...
Рейтинг: 0 / 0
календарь на JavaScript
    #35368326
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я что могу поделать? Телепатией я не обладаю и не могу за Вас потыкать в календарь и понять почему не работает. Писать это нечто с нуля, чтоб на нем проверять работоспособность, тут тоже никто не собирается. Выкладывайте полностью исходник с примером.
...
Рейтинг: 0 / 0
календарь на JavaScript
    #35368332
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illionа я что могу поделать? Телепатией я не обладаю и не могу за Вас потыкать в календарь и понять почему не работает. Писать это нечто с нуля, чтоб на нем проверять работоспособность, тут тоже никто не собирается. Выкладывайте полностью исходник с примером.
Ага, значит мы созрели для форума, в который можем выкладывать (по клику) работающие примерчики. Ты никргда об этом не думала? Сделаем.
...
Рейтинг: 0 / 0
календарь на JavaScript
    #35368345
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 new_igor Не надо постить так много букоф.
...
Рейтинг: 0 / 0
календарь на JavaScript
    #35368397
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думала и так понятно - я имела в виду не "много букоф", а архив с исходником, вложенный в сообщение.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / календарь на JavaScript
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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