Календарь на подобие Datepicker
Добрый день.
У меня есть необходимость для сайта реализовать что-то подобное такому календарику: http://www.lomarengas.fi/ru/cottages...ns= &keyword= Там надо пролистать на несколько месяцев вперед до зеленых дат. Там можно выбрать период бронирования, причем выбранные дни выделяются подсветкой фона с середины текущего дня до середины следующего. С одной стороны я уже практически написал такой календарь, но сказать, что это решение кривое - не сказать ничего. HTML гегерится на сервере, при переключении месяца грузится новые слои. В этом решении пока не очень понимаю, как мне передать данные о выбранных днях, но это я смогу решить. Я вот сейчас думаю, что надо бы переписать всю эту халтуру. Переписывать код Datepicker мне кажется с одной стороны неправильно, и я побаиваюсь (понимание JS более чем условное). Как стоило бы поступить? Спасибо. |
karden,
Datepicker вполне можно настроить под вашу задачу...передавать можно либо массив либо обьект с занятыми датами и при выводе месяца изменять css занятых дат |
Посмотрел исходники Datepicker. Честно сказать - страшновато лезть в этот код. 2000 строк мозгодробительного кода (хотя фактически формирование вывода - 30-40 строк). Обработку событий пока вообще не нашел. Их тоже придется переписывать.
Завтра попробую вникнуть более внимательно, но что-то трогать не понимая полного устройства механизма мне кажется не самым разумным решением. Относительно хранения/передачи информации по датам. Я сейчас сделал хранение информации в БД с следующем виде: id | HouseID | Year | DayOfYear | Status | Reserv-UserID Мне, честно сказать, не очень нравится часть "Year | DayOfYear". Да и для передачи между клиентом и сервером простым массивом такое не передашь. Может быть есть опыт/мысли как это лучше сложить в БД? Спасибо |
Цитата:
Цитата:
результат из базы для календаря по вашим условиям проще что-то типа так var data = { "01.03.2016" : {start : true, end : false}, "02.03.2016" : {start : true, end : true}, "03.03.2016" : {start : false, end : true} } и живой пример как бы это могло быть: http://javascript.ru/forum/misc/5963...tml#post396858 |
Да, это очень близко к тому, что мне надо. Спасибо.
Относительно фонов выбранных ячеек. Там всего 2 стиля: выбрано или нет. Я хотел сделать больше вариантов: не выбрано, зарезервиновано, занято - отсекая уже занятые даты и оставшиеся даты можно выбрать. И в моем случае мне надо поменять фон на текущем элементе и следующим за ним. Вот в этой части мне кажется, что не получится без влезания в код библиотеки. Надеюсь, что я тут не прав :) Относительно формата данных - однозначно согласен. Что-то я перемудрил... |
Цитата:
|
Обалдеть! Всего пол дня, и у меня фактически получилось отвоевать этот вопрос.
1. На Disabled даты не выводится ALT-текст. Это исправимо? 2. Раз уж так все красиво получается, то есть ли механизм наложить маску на фон? То есть сделать фон черно-белый, а при выводе в зависимости от статусов менять: черный на один цвет, а белый на другой. В противном случае надо будет делать кучу записей в CSS с перебором всех возможных комбинаций. Честно сказать - утром был уверен в том, что ничего не получится... :) Готов проставиться пивом (или учесть Ваши предпочтения). |
karden,
нужен код иначе не понимаю о чём речь |
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>jQuery UI Datepicker - Default functionality</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/humanity/jquery-ui.css" /> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> <link rel="stylesheet" href="/resources/demos/style.css" /> <style type="text/css"> body{ font-size: 12px; } .active .ui-state-default{ background: rgba(102, 255, 102, 1) } .active:hover .ui-state-default{ background: rgba(255, 255, 0, 1) } .test .ui-state-default{ background: rgba(255, 215, 0, 1) } </style> <script> var SelectableDayStatus = { 0: {Selectable: true, Name: 'Доступно для бронирования'}, 1: {Selectable: false, Name: 'Зарезервировано'}, 2: {Selectable: false, Name: 'Забронировано'}, 3: {Selectable: false, Name: 'Оплачно'}, 8: {Selectable: false, Name: 'Техническое обслуживание'}, 9: {Selectable: false, Name: 'Нет данных'} }; // Это будет приходить с сервера на текущий месяц, и при переключении месяца надо будет дополнять массив var DayStatus = { "25.02.2016" : 0, "26.02.2016" : 0, "27.02.2016" : 0, "28.02.2016" : 0, "29.02.2016" : 0, "01.03.2016" : 0, "02.03.2016" : 0, "03.03.2016" : 0, // "04.03.2016" : 0, // "05.03.2016" : 0, "06.03.2016" : 0, "07.03.2016" : 0, "08.03.2016" : 1, "09.03.2016" : 1, "10.03.2016" : 1, "11.03.2016" : 0, "12.03.2016" : 0, "13.03.2016" : 2, "14.03.2016" : 3, "MaxDate": 365 }; $(function() { $.datepicker.regional['ru'] = { closeText: 'Закрыть', prevText: '<Пред', nextText: 'След>', currentText: 'Сегодня', monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', 'Июл','Авг','Сен','Окт','Ноя','Дек'], dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showOtherMonths:true, selectOtherMonths:true, changeMonth:false, changeYear: false }; var SelectedDays = []; $.datepicker.setDefaults($.datepicker.regional['ru']); $( '#datepicker' ).datepicker({ altField: "#show", altFormat: "yy-mm-dd", minDate: 0, maxDate: DayStatus['MaxDate'], beforeShowDay: function(date) { var cds = date.toLocaleString().slice(0, 10); var CurrentDayStyleFlag = (typeof DayStatus[cds] === 'undefined')?9:DayStatus[cds]; var CurrentDaySelectable = SelectableDayStatus[CurrentDayStyleFlag].Selectable; var pds = new Date(date.getTime()-86400000).toLocaleString().slice(0, 10); var PrevDayStyleFlag = (typeof DayStatus[pds] === 'undefined')?9:DayStatus[pds]; console.log (cds, '->', CurrentDayStyleFlag, ';', pds, '->', PrevDayStyleFlag); for (var i=0; i<SelectedDays.length; i++) { var d = SelectedDays[i]; d = d.split('.'); if (date.getTime() == (new Date(d[2],d[1]-1,d[0])).getTime()) return[CurrentDaySelectable, "active", SelectableDayStatus[CurrentDayStyleFlag].Name] }; return[CurrentDaySelectable, "test"] }, onSelect : function(value,b) { var ok = $.inArray(value, SelectedDays); if (ok == -1) SelectedDays.push(value) else {SelectedDays.splice(ok,1)}; // alert(JSON.stringify(SelectedDays)); $('#JSON_DATA').html (JSON.stringify(SelectedDays, null, '\t')); } }) }); // Function </script> </head> <body> <div id="datepicker"></div> <input id="show"> <pre id="JSON_DATA"></pre> </body> </html> Стили фонов пока не прописывал... |
datepicker и бронирование на несколько дней
karden,
осталось только проглотить :lol: ... далее сами ... перевести под свой формат, думаю сможите. <!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>jQuery UI Datepicker - Default functionality</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/sunny/jquery-ui.css" /> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <style type="text/css"> body{ font-size: 12px; } .active .ui-state-default{ background-color: #32CD32; background-image: none; } .ui-state-default{ position: relative; } .end .ui-state-default:before{ position: absolute; top:0; left:0; content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 8px 8px 0 0; border-color: #FF0000 transparent transparent transparent; margin: 0; padding: 0; } .start .ui-state-default:after{ position: absolute; right: 0; bottom: 0; content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 0 0 8px 8px; border-color: transparent transparent #FF0000 transparent; margin: 0; padding: 0; } .active:hover .ui-state-default{ background: rgba(255, 255, 0, 1) } #period_id{ width: 100px; } :focus{ outline:0; border:0; } .busy .ui-state-default{ background-color: #FFC0CB; background-image: none; } </style> <script> $(function() { $.datepicker.regional['ru'] = { closeText: 'Закрыть', prevText: '<Пред', nextText: 'След>', currentText: 'Сегодня', monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', 'Июл','Авг','Сен','Окт','Ноя','Дек'], dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showOtherMonths:true, selectOtherMonths:true, changeMonth:true, changeYear: false, showAnim:'scale' }; $.datepicker.setDefaults($.datepicker.regional["ru"]); var $sel = $("#period_id"), $picker = $("#datepicker"), $end = $(".title"), obj = {start : false, end : false}, data = { "01.03.2016" : {start : true, end : false}, "02.03.2016" : {start : true, end : true}, "03.03.2016" : {start : false, end : true} } ; function selected() { var selectedDate = $picker.val(); var period_date = +$sel.val() || 1, instance = $picker.data("datepicker"), date = $.datepicker.parseDate("dd.mm.yy", selectedDate, instance.settings); obj.start = date.getTime(); date.setDate(date.getDate() + period_date);//тут нужна проверка нет ли в диапазоне занятых дней obj.end = date.getTime(); date = $.datepicker.formatDate("dd.mm.yy", date, instance.settings); $end.text("Дата заезда : " + selectedDate + " Дата выезда: " + date); $picker.datepicker( "refresh" ); } function show(date) { var instance = $picker.data("datepicker"), dateStr = $.datepicker.formatDate("dd.mm.yy", date, instance.settings), cls = "", title = "свободно", ev = true; if(data[dateStr]){ cls = "busy"; data[dateStr].end && (cls += " end", title = "заезд после обеда"); data[dateStr].start && (cls += " start", title = "занято", ev = false); } if (obj.start && date.getTime() >= obj.start && date.getTime() <= obj.end) { title = "Забронировано вами"; if(date.getTime() == obj.start) {cls += " active start"; title = "день заезда";} else if(date.getTime() == obj.end) {cls += " active end"; title = "день выезда";} else cls += " active start end"; return[ev, cls, title] } ; return[ev, cls, title]} $picker.datepicker({ dateFormat: "dd.mm.yy", minDate: 0, onSelect: selected, beforeShowDay: show, showWeek: true, weekHeader: "Нед." }).tooltip(); //$sel.on("change", selected); нужна проверка диапазона var plural = function (b) { return function (a) { return b[1 == a % 10 && 11 != a % 100 ? 0 : 2 <= a % 10 && 4 >= a % 10 && (10 > a % 100 || 20 <= a % 100) ? 1 : 2] } }; var d = plural([' день',' дня',' дней']) for (var i=1; i< 25; i++) { $("<option>", {text : i + d(i), value : i}).appendTo($sel) }; $sel.selectmenu({change: function( event, ui ) { $(this).change() }}); }); </script> </head> <body> <h2 class="title">Выберите количество дней и дату заезда</h2> <br> <label>Количество дней проживания <select id="period_id"></select> </label><br> <div id="datepicker"></div> </body> </html> |
Круто, но ничего с первого прочтения не понял... Сейчас буду разбираться...
А мой код, видимо, совсем кривой? :( |
На тему заливки фонов я имел в виду что-то типа этого: http://css.yoksel.ru/css-and-svg-masks/
Сейчас сам попробую вникнуть. Мысль в том, чтобы был один графический файл с маской размером с ячейку который был бы с двумя треугольниками типа такого только черно-белый. А дальше, я даю цвет фона как левый треугольник (прозрачный), на правый накладываю нужный цвет. А сверху виден текст с датой. |
Цитата:
|
Добрый вечер.
С фонами решение нашлось. // В CSS /* 0 - Free */ .poly1c0 .ui-state-default, .poly1c0 .ui-state-active { background: #f9eeda; } .poly2c0 .ui-state-default, .poly2c0 .ui-state-active { background-image: linear-gradient(to left top, #f9eeda 50%, transparent 50%) !important; } /* 1 - Reserved */ .poly1c1 .ui-state-default, .poly1c1 .ui-state-active { background: yellow; } .poly2c1 .ui-state-default, .poly2c1 .ui-state-active { background-image: linear-gradient(to left top, yellow 50%, transparent 50%) !important; } /* 7 - Selected */ .poly1c7 .ui-state-default, .poly1c7 .ui-state-active { background: #AFEA70; } .poly2c7 .ui-state-default, .poly2c7 .ui-state-active { background-image: linear-gradient(to left top, #AFEA70 50%, transparent 50%) !important; } // Стиль ячейки: "poly1c"+PrevDayStyleFlag+" poly2c"+CurrentDayStyleFlag И Все бы замечательно, но как только я добавляю третий вариант раскраски (тип), начинает плющить фоны (при выборе дат). В HTML-выводе все стили меняются корректно, а выводятся - нет. Нет мыслей почему так? Код очень громоздкий, может будет проще ссылку на скрипт? http://realfarmer.ru/2/ |
Все прикрутил как надо! Офигительно работает.
Тут еще одна мысль пришла в голову, но не могу понять можно ли это прикрутить. На странице несколько элементов datepicker. Можно ли сделать так, чтобы при переключении месяца (вперед - назад) на любом из них месяц переключался на всех? И дополнительно. Можно ли узнать какой месяц открыт в данный момент? Спасибо. |
karden,
onChangeMonthYear |
Цитата:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>jQuery UI Datepicker - Icon trigger</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/sunny/jquery-ui.css"> <style type="text/css"> #ui-datepicker-div{ font-size: 12px; } </style> <script src="http://code.jquery.com/jquery-1.10.2.js"></script> <script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script> <script> $(function() { $(".datepicker").datepicker({ changeYear: true, firstDay: 1, onChangeMonthYear: function(year, month, el) { $(".datepicker").datepicker("setDate", month + "/1/" + year); } }); }); </script> </head> <body> <div class="datepicker"></div><div class="datepicker"></div> </body> </html> |
Спасибо. Это прикрутил с поправкой на то, что формат даты мы поменяли и оно сразу не заработало.
Еще одну задачку не до конца понимаю как решить. Интерфейс менеджера. Есть такой же календарь, и под ним еще таблица со списком резервов (ДАТА_НАЧАЛО ! ДАТА_КОНЕЦ ! ФИО) И тут двойная задача: 1. При наведении мыши на дату, которая зарезервирована - подсветить все даты, относящиеся к данному резерву. 2. Подсветить строку в таблице, которая описывает этот резерв. И наоборот при наведении мыши на строку в таблице - подсвечивать даты в календаре. Мысли/вопросы: 1. Выделать ячейки фонами - мы не можем, т.к. они используются для выделения статусов дней. Предполагаю, что проще всего выделить цветом текста и жирным начертанием. Еще не пробовал править стили для этого, но думаю, что проблем быть не должно. 2. Технически к каждой ячейке задаем класс, который будет флагом того, что ячейка относится к тем, которые надо подсвечивать и второй класс с номером резерва (это мне не очень нравится). 3. Добавляем обработку события MouseOver и MouseOut для класса-флага. В документации datepicker этого найти не смог. |
karden,
немогу представить такой календарь -- если только сразу на весь год. и хоть это и не корректно, попробуйте задавать вопросы про datepicker на http://ru.stackoverflow.com там больше специалистов знакомы с этим плагином ... |
Я сейчас пробно сделал на 3 месяца (на год очень громоздко).
Попробую там поспрашивать. Спасибо. |
Вроде нашел, то что мне надо. И даже, условно, работает.
$(function() { $(document).on("mouseenter",'[data-handler="selectDay"]',function(){ var date = new Date($(this).data("year"), $(this).data("month"),$(this).text()); var ReservID = $('this').attr('class'); console.log(date) // работает! console.log (ReservID); // возвращает nul! console.dir(this) // возвращает объект td.ReservID24.poly1c3.poly2c3 }) }); Я добавил в BeforeShowDay дополнительный стиль ячейки "ReservIDXX", где ХХ - номер брони. Хотя сейчас уже думаю, что было бы лучше добавить атрибут к объекту "data-reservid='xx'". Это не получилось по причине того, что я в эту функцию не передается ссылка на объект (видимо, в связи с тем, что его еще нет). Реально ли как-то "воткнуть" свой атрибут? И, собственно, основной вопрос в том, что вышеприведенный код возвращает ReservID=null, вместо перечисления стилей. В то время как console.dir выводит объект TD с описанием нужной ячейки (в которой классы прописаны). |
karden,
4 строка кавычки то зачем у this? |
2 недели за компьютером почти не вылезаю... С утра не мог найти ошибку :)
Спасибо |
Небольшой вопрос, который не понял из документации.
$( "#autoFIO" ).autocomplete({ delay: 500, minLength: 3, source: getUserByRealName }); function getUserByRealName(request, response) { // тут ajax-запрос не пишу, чтобы не забивать голову лишним var ajaxResult = ['Иванов1', 'Иванов2', 'Иванов3']; response (ajaxResult); //??? return (ajaxResult); //??? } //function getUserByRealName() Оба варианта не заработали. Из документации я понял, что response - функция, которой надо передать данные - не сработало. Через return - тоже не показало. Как это надо исправить? Спасибо. |
|
Добрый вечер.
Потихонечку вояю интерфейс... Возникла необходимость вставить вот такой код, но после того, как ОНО получилось - понял, что это какой-то монстр. Разумеется, там где-то что-то пропустил, выдается ошибка, что совершенно понятно, т.к. совершенно не читаемо. А как этот код написать "правильно" (концептульно правильно)? Шаблон... Может еще что... $( '<tr id="ReservListItem'+ReservID+'" class="xReservListItem">'+ '<td>+DayStatus['RESERV'][ReservID]['DateReservedBegin']+' - ' +DayStatus['RESERV'][ReservID]['DateReservedEnd']+' (' +DayStatus['RESERV'][ReservID]['ReservedDays']+')</td>'+ '<td>'+DayStatus['RESERV'][ReservID]['UserFullName']+'<br>' +DayStatus['RESERV'][ReservID]['Phone']+'</td>'+ '<td>t3</td>'+ '</tr>').appendTo($("#ReservList"+AppartID)); Спасибо. |
karden,
строки 1-4 не осилил ниже можно так var tr = $("<tr>", { id: "ReservListItem" + ReservID, "class": "xReservListItem" }).appendTo($("#ReservList" + AppartID)); var td = $("<td>").appendTo(tr); var a = $("<a>", { text: DayStatus["RESERV"][ReservID]["DateReservedBegin"] + " - " + DayStatus["RESERV"][ReservID]["DateReservedEnd"] + " (" + DayStatus["RESERV"][ReservID]["ReservedDays"] + ")", click: onClc }).appendTo(td); var td = $("<td>").appendTo(tr); var a = $("<a>", { text: "t3", click: onClc }).appendTo(td); или пример тут строки 22 - 28 http://javascript.ru/forum/misc/4830...tml#post318542 |
Супер! Спасибо :)
|
Вроде, понимаю суть проблемы, но не могу понять как в этим бороться:
for (AppartID in ReservesList) { for (ReservID in ReservesList[AppartID]) { console.log(AppartID, ReservID); $('#ReservListItem'+ReservID).click(function(){ fShowDModal({ "AppartID": AppartID, "ReservID": ReservID+'' }); }); } // for2 } // for (AppartID in ReservesList) В момент генерации - значения AppartID, ReservID - правильные. Но, когда происходит .click, значения - последние, которые и используются для всех событий. Надо как-то "зафиксировать" значения... |
karden,
не используйте for или нужно замыкание переменных for (AppartID in ReservesList) for (ReservID in ReservesList[AppartID]) $("#ReservListItem" + ReservID).click(function(a, b) { return function() { fShowDModal({ "AppartID": a, "ReservID": b + "" }) } }(AppartID, ReservID)); |
Спасибо,
это одна из тем, которые с первого захода совсем не пошли. Сейчас чуть в голове все уложится, попробую непонятные темы еще раз "вкурить". |
karden,
в этом случае лучше создать новую тему ... |
Снова вопрос...
При наведении на ячейку таблице (в datepicker) мне надо получить аттрибут, который присвоен тегу DIV, в который вставлен этот календарь console.dir($(this).parent().parent().parent().parent().parent().parent().attr('appart-id')); Этот код - работает, но выгляди уж очень страшно. :( Может это можно как-то более аккуратно реализовать? Спасибо |
karden,
а класс у div есть? $(this).parents('точка_класс').attr('appart-id') или даже так $(this).parents('[appart-id]').attr('appart-id') |
Класс!!! Спасибо
|
Опять заткнулся... :)
Надо сделать автоматический скроллинг таблицы с описанием дат на календаре. В сети нашел такое решение: http://jsfiddle.net/tzjrq1vt/2/ , которое и было взято за основу. Вот, что получилось... $(document).on("mouseenter",'[data-handler="selectDay"]',function(){ // Всякое... if (ReservID > 0) { var w = $('#ReservListDiv' + AppartID); var table = $('#ReservList' + AppartID); var row = table.find('tr') .eq( +$('#ReservListItem'+ReservID).index()); if (row.length) { console.log('w.height()='+w.height(), 'row.position().top='+row.position().top); // $('#ReservList' + AppartID).animate({scrollTop: row.offset().top - (w.height()/2)}, 1000 ); $('#ReservList' + AppartID).animate({'top': row.position().top+'px'}, 1000 ); } }); // Таблица - шапка из шаблона: <div id="ReservListDiv<TMPL_VAR NAME="ID">" style="height:150px; overflow:auto; margin-top:20px;"> <table width="100%" id="ReservList<TMPL_VAR NAME="ID">" class="DataList ReservesList"> <thead> <tr> <th width="200"><span style="position:absolute; top:-20px; z-index:2; height:20px; ">Период</span></th> <th><span style="position:absolute; top:-20px; z-index:2; height:20px; ">Описание</span></th> <th><span style="position:absolute; top:-20px; z-index:2; height:20px; ">Статус</span></th> </tr> </thead> </table> </div> // Добавляются строки так: var dt = DayStatus["RESERV"][ReservID]["DateReservedBegin"].split('.'); var DtTS = (new Date(dt[2],dt[1]-1,dt[0])).getTime(); var tr = $("<tr>", { id: "ReservListItem" + ReservID, "class": "xReservListItem", 'sortValue': DtTS }).appendTo($("#ReservList" + AppartID)); var td = $("<td>", { text: DayStatus["RESERV"][ReservID]["DateReservedBegin"] + " - " + DayStatus["RESERV"][ReservID]["DateReservedEnd"] + " (" + DayStatus["RESERV"][ReservID]["ReservedDays"] + ")" }).appendTo(tr); var td = $("<td>", { html: DayStatus['RESERV'][ReservID]['UserFullName']+'<br>'+ DayStatus['RESERV'][ReservID]['Phone'] }).appendTo(tr); var td = $("<td>", { text: "text3" }).appendTo(tr); в лог пишется все красиво (все нужные переменные похожи на правду) shell?m=36:1095 w.height()=150 row.position().top=108 shell?m=36:1095 w.height()=150 row.position().top=126 shell?m=36:1095 w.height()=150 row.position().top=144 2shell?m=36:1095 w.height()=150 row.position().top=212 shell?m=36:1095 w.height()=150 row.position().top=178 3shell?m=36:1095 w.height()=150 row.position().top=246 shell?m=36:1095 w.height()=150 row.position().top=178 6shell?m=36:1095 w.height()=150 row.position().top=212 2shell?m=36:1095 w.height()=150 row.position().top=178 shell?m=36:1095 w.height()=150 row.position().top=212 Собственно, проблема, на сколько я понимаю, либо в вызове animate, либо в параметрах DIV или таблицы. Совсем не могу понять куда двигаться дальше... :( Спасибо. |
karden,
логической цепочки между всеми предложениями вашего сообщения не прослеживаю. |
Надо сделать автоматический скроллинг таблицы с описанием дат на календаре. В сети нашел такое решение: http://jsfiddle.net/tzjrq1vt/2/ , которое и было взято за основу.
Все данные для animate (верхняя часть кода) - приходят, вроде корректно (хотя бы для какого-нибудь движения). В конце сообщения кусок лога из консоли, чтобы было видно какие данные приходят в animate Но у меня есть опасение, что ошибка не в этой части кода, а в описании ДИВа или таблицы, поэтому их тоже воткнул в исходник. |
karden,
вы сами то смотрели что находится по вашей ссылке? |
Сорри, не ту ссылку взял... http://jsfiddle.net/SZKJh/1/
|
Часовой пояс GMT +3, время: 04:29. |