Jump to content

Дядя Саша

Expert
  • Posts

    210
  • Joined

  • Last visited

Дядя Саша's Achievements

Explorer

Explorer (1/14)

0

Reputation

  1. Ну да, я все это понял, в ноде не хочу хранить его, хочу в массиве, у календаря то есть ссылка на ноду — this.field, я по ней и нахожу нужный мне календарь... только, правда, не из того места, как оказалось)
  2. >> Да, надо бы проводить поиск в массиве до вызова new Calendar() Вроде я это и написал? Или где мне хранить уже созданные календари? Ф-ия ж должна где то искать уже созданные экземпляры, вот они и лежат в массиве (в глобальной переменной calendars). Только реализовано у меня криво, получается. Ибо проверка на существующий инстанс у меня выполняется уже после получения нового (в нем же, в новом и осуществляется), а надо бы вынести ее отдельно. Но я думаю не забить ли мне на это. Пускай себе создается, памяти что ли жалко, еще и чужой Поэтому и спрашиваю, сильно ли это хреново для такой задачи? И интересно куда он девается потом, если нигде не используется.
  3. Да, надо бы проводить поиск в массиве до вызова new Calendar(), это было бы правильно, а так сильно плохо?
  4. Так и есть вызывается new Calendar(...), есть массив calendars, в нем ведется поиск на наличие существующего, если есть — то он просто немного обновляется (если надо), а если нет — создается новый http://imagebin.ca/img/2QyWbq86.png — вот тут результат (: Мда, наверно все равно возвращается целый экземпляр... Ф-ия initialize проверяет на наличие существующего календаря. Мда, задумался я Ну, он не большой, никуда не присваивается и сразу летит в пи..ду. Надо подумать, переделывать лень (:
  5. var Calendar = Class.create(); Calendar.prototype = { initialize: function(field, options, e) { ... this.options = options; this.date = field.value === "" ? new Date() : Date.prototype.parseTime(field.value); ... }, newDate: function() { var date ... ... date.MONTH = $w(this.options.months); // присылается с сервера в вызове каждого нового экхемпляра. date.YEARS = $R(this.options.years_range[0], this.options.years_range[1]); // аналогично date.HOURS_INCLUDE = this.options.date_format.indexOf("%H") > 0 ? true : false; .... return date; } } <input class="input_button_default" id="date_select_button_cf2134386b36090f5b09624143e6c80922cc1673" onclick="new Calendar(this, $('edit_start_date'), { "months": "January February March April May June July August September October November December", "minutes_equal": "5", "weeks": "Monday Tuesday Wednesday Thursday Friday Saturday Sunday", "years_range": [2009, 2010], "seconds_equal": "5", "weekdays": "S M T W T F S", "select_class": "input_select_default", "first_day": 0, "date_format": "%B, %d %Y @ %H:%M", "hours_equal": "1" }, event);" style="display: none" type="button" value="Select start Date" /> Да и вся эта информация просто не нужна за пределами моего класса, кто знает сколько еще экземпляров даты будет получаться в документе, зачем каждому этот мусор.
  6. Пасиб, с eval я и сделал , думалось что есть в жс какой то более прямой способ, увы, все указывает на убогость языка. С прототипом не катит потому что при каждом получении экземпляра класса прототип прийдется переопределять, это еще пол беды, но может быть ситуация когда работают сразу два экземпляра, они хранят разные данные и получается ппц. Из-за всех таких вот особенностей не захотелось определять прототп и все что мне надо вешать на мой собственный экземпляр.
  7. Мда, и для чего я распинался... На самом деле я знаю как передаются параметры функции, я не знаю как внутри этой моей ф-ии передать эти параметры в вызов new Date(). var date = newMyDate(вот те параметры) function newMyDate(а тут вообще ничего нет потому что параметров может быть разное количесство) { за то тут есть почти_массив arguments var date = new Date(их надо передать вот сюда) return date } и хз как с этим быть
  8. Привет, нужно сделать враппер (наследование через прототип не подходит) для new Date(). То есть к примеру мне надо получать дату не так: var date = new Date(); а вот так: var date = newMyDate(); function newMyDate() { var date = new Date(); ... some actions ... return date; } Все это работает до тех пор пока мне не понадобится передать параметры: var date = newMyDate(alredy_exist_date.getTime()); Теперь в ф-ии newMyDate можно работать с объектом arguments, но как их передать в вызов new Date — непонятно. У кого нибудь есть идеи? Или эта задача невыполнима?
  9. Да, спасибо, это я уже читал, так вот браузер не подвисает. У себя так же пробовал, в скрипте на сервере выставлял слип в секунд 10, подвисала только в-ия, которая отправляла запросы, весь остальной код на странице работал. var resp; for (var i = 0; i < 15; i++) { resp = $.Ajax.send(false, "param=ping", function() {alert("Ok!")}); } Поэтому я не особо представляю что происходит. Мне кажется что блокируется только данный цикл, пока не вернется ответ, что то вроде: var resp; for (var i = 0; i < 15; i++) { resp = (a+b) / c; } То есть вычисляется выражение и цикл продолжается. А если к примеру сделать так: function sendIt(req) { return $.Ajax.send(false, req); } function test() { var resp = sendIt("params=ping"); } то ожидать будет и ф-ия test? Вот я и пытаюсь выяснить, отсюда идут мысли что скрипт не работает во время синхронного запроса?
  10. К сожалению у меня пока с трудом работает ИЕ6) седьмой пока не могет, так что как в нем я не видел. Ну а вообще вы что то долго сидите над такой задачей. Работы то на 5 минут. В крайнем случае вставте туда таблицу. тогда для крайних ячеек надо установить padding-left: 30px & height: 30px; width не устанавливать, а для средней ячейки width: 100%; Но это не совсем правельное решение, и будет работать если крайние ячейки будут пусты (из-за паддинга). А вообще я вам этого не советовал, и уверен что можно сделать и слоями.
  11. Дядя Саша

    Ajax

    Хотел спросить, что происходит во время синхронного запроса? Конкретно что происходит со скриптами, их выполнение останавливается полностью, или только частично? То есть к примеру в некоторой ф-ии отсылается синхронный запрос, но в это время ещё выполняется множество других ф-ий, они все будут заблокированы или только та в которой выполняется запрос?
  12. Это должно подойти. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title></title> <style type="text/css"> #woodboard { position: relative; height:30px; } #woodboard_tl, #woodboard_tr { position: absolute; height:30px; width:30px; top: 0; } #woodboard_tl { left: 0; background: red; } #woodboard_tc { position: relative; height:30px; margin: 0 30px; background: #c0c0c0; } #woodboard_tr { right: 0; background: red; } </style> </head> <body> <div id="woodboard"> <div id="woodboard_tl"></div> <div id="woodboard_tc"></div> <div id="woodboard_tr"></div> </div> </body> </html>
  13. Нет, дорогой homm (хам подходит лучше), идиот - это про вас, если действительно полагаете что я верю в это. У меня просто сильная неприязнь к их продукту (как например у вас ко мне, ведь вы не скромничаете в предположениях) Вы дважды идиот если предположили что я считаю ФФ белым и пушистым. Ещё мне не понятно как разработчики Опера оценивают критичность проблемы? Может по 10-ти бальной шкале? Тогда наверно им действительно плевать на проблемы, которые не превышают баллов 4-х, зато я ими наслаждаюсь каждый день. Ещё по поводу примера, я ошибся и нечаянно наврал. Дело в том что в слой вложен не ещё один слой, а таблица. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns='http://www.w3.org/1999/xhtml' lang='ru' xml:lang='ru'> <head> <style type='text/css'> #megablock { position: absolute; left: 20%; top: 20%; width: 500px; height: 400px; background: red; } #megablock table { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: blue; } </style> </head> <body> <div id="megablock"> <table class=''> <tr> <td class=''></td> <td class=''></td> <td class=''></td> </tr> <tr> <td class=''></td> <td class=''></td> <td class=''></td> </tr> <tr> <td class=''></td> <td class=''></td> <td class=''></td> </tr> </table> </div> <button onclick="return DoThis();">do this</button> <script type='text/javascript'> function DoThis() { var el = document.getElementById('megablock'); var Counter = 400; var _Timer = setInterval(function() { Counter += 1; el.style.height = Counter.toString() + 'px'; if (Counter >=500) { clearInterval(_Timer); } }, 1); return false; } </script> </body> </html> А теперь попробуйте так. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns='http://www.w3.org/1999/xhtml' lang='ru' xml:lang='ru'> <head> <style type='text/css'> #megablock { position: absolute; left: 20%; top: 20%; width: 400px; height: 400px; background: red; } #megablock table { position: absolute; width: 100%; height: 100%; top: 0; left: 0; background: blue; } </style> </head> <body> <div id="megablock"> <table class=''> <tr> <td class=''></td> <td class=''></td> <td class=''></td> </tr> <tr> <td class=''></td> <td class=''></td> <td class=''></td> </tr> <tr> <td class=''></td> <td class=''></td> <td class=''></td> </tr> </table> </div> <button onclick="return DoThis();">do this</button> <script type='text/javascript'> function DoThis() { var el = document.getElementById('megablock'); var Counter = 400; var _Timer = setInterval(function() { Counter += 1; el.style.height = Counter.toString() + 'px'; el.style.width = Counter.toString() + 'px'; if (Counter >=500) { clearInterval(_Timer); } }, 1); return false; } </script> </body> </html>
  14. Но хоть от чего то да надо тащится, не надо ставить все в один ряд и говорить что все глючат, некоторые все же глючат меньше и это явно не опера и мелкософт. Я понимаю тот факт, что если софтом не будут пользоваться - разработчикам будет очень сложно самостоятельно находить ошибки. Я понимаю что по этой причине у меня стоят недоделанные четвертые кеды. Но, когда разработчикам KDE отсылаешь отчёт об ошибке - её, как правило, исправляют. И вот я не понимаю почему разработчикам оперы плевать на багрепорты которые им шлют. Наверно потому что они - козлы, я это заподозрил ещё когда первый раз посмотрел на фото их команды, мне они сразу не понравились. И вашего выбора я не понимаю. Опера - очень сырой продукт, это я говорю как разработчик с учётом того что мне все равно какого цвета там кнопочки и насколько быстро переключаются вкладки. Только на личном опыте. С ФФ у меня больших проблем не возникает, даже с ИЕ не столько сколько с оперой, потому что её поведение зачастую действительно не то чтобы трудно было объяснить, а вообще нереально. Вот проблема, которой я решить не смог. Есть слой, позиционирован абсолютно, ширина и высота указаны в пикселах. В нем ещё один слой, позиционирован абсолютно, высота и ширина по 100%. при этом везде все нормально. Далее начинаю менять размер внешнего слоя, внутренний по идее должен тоже менять свой размер и занимать всю площадь родительского. Если в опере менять только ширину родительского слоя - все хорошо, если и ширину и высоту одновременно - тоже. Но если менять только высоту - вложенный слой не меняет своего размера. Такой "эффект" только в опере, во всех браузерах (а это не только ФФ и ИЕ) все нормально? Могу перечислить ещё такие эффекты. При этом я согласен что опера может нормально работать с простенькими сайтами и даже хорошо их понимать. Она может привлекать пользователей своей простотой (имею в виду адресную строку и пару кнопочек, а с недавнего времени ещё и идиотский вид, который разработчики пока что могли бы вообще не трогать имея огромное количество более важных проблем), но стоит влезть глубже, попытаться сделать что либо более сложное - обязательно найдется масса непонятностей, большую часть из который понять, скорее всего, так и не удастся. Хух, накипело
  15. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title></title> <style type="text/css"> #woodboard_tl, #woodboard_tr { position: relative; height:30px; width:30px; } #woodboard_tl { float:left; background: red; } #woodboard { position: relative; height:30px; background: #c0c0c0; } #woodboard_tr { float:right; background: red; } </style> </head> <body> <div id="woodboard"> <div id="woodboard_tl"></div> <div id="woodboard_tr"></div> </div> </body> </html>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy