Jump to content

s0rr0w

User
  • Posts

    5,139
  • Joined

  • Last visited

  • Days Won

    32

Everything posted by s0rr0w

  1. s0rr0w

    Pixel Perfect

    Все, кто поддерживает активный психоз по поводу 100% совпадения с макетом, являются убийцами верстки как класса. Таких нужно немедленно изолировать от общества и проводить насильственное лечение электрошоком.
  2. Сударь, вы мне сейчас мои же слова рассказываете. На этом форуме неоднократно подымался этот вопрос и каждый раз на него я давал ответ: нужно ставить 96dpi в макете фотошопа, тогда совпадение шрифтов будет максимальным.
  3. На которые пускают слюни дизайнеры и заказчик. Но пользователю они ну вообще побоку. Совсем побоку. Ему понты нафиг не нужны, он за информацией на сайты ходит.
  4. http://vodomir.ua/ http://www.rosinvesthotel.ru/ Все это фигня на самом деле. Это графика. А сайты, кроме нее, еще другими показателями славны: юзабилити, печатный вид и для мобильных устройств, скорость доступа к информации, архитектура построения.
  5. Пример №2. Сортировка таблицы. В этом примере будет рассмотрено несколько приемов, которые можно использовать в работе со StateController'ом: Передача дополнительных параметров с запускаемым событием Уровни запуска событий Работа с дополнительными состояниями Как всегда, используется XML и XSL Что же происходит, когда мы нажимаем на заголовок таблицы? Выполняется функция sortIt, которая не делает ничего другого, кроме запуска события sort. В качестве значения события передается тип данных для сортировки: по названию книги, по имени автора и так далее. SC.launch( { sort: { v: sortBy, c: "sortingObj", p: "TH,TBODY" } } ); Эту строку можно прочитать следующим образом: необходимо запустить событие сортировки sort, сортировать будем по sortBy внутри контейнера sortingObj, при этом события должны получить теги TH и TBODY Для TH у нас назначен обработчик switch_sorting_method, который будет выполнен при запуске события sort, и на момент исполнения ему будет переданы дополнительные аргументы: тип данных для сортировки и имена классов, которые будут присвоены, если будет активирована сортировка в данном столбце. Обработчик switch_sorting_method выполняет ряд нехитрых действий: проверяет, совпадает ли значение события с собственным значением порядка сортировки. Если совпадает, то, в зависимости какой именно порядок присвоен, инвертирует или изначально присваивает имя класса. Если не совпадает, то удаляет класс. Одновременно с этим запоминается значение порядка сортировки sortOrder. Этот параметр будет использоваться последующими обработчиками. Обработчик sort_data_rows, который присвоен TBODY, делает следующее: сначала собираем данные для сортировки, потом сортируем по порядку сортировки: ascending или descending, а потом переставляем строки таблицы в нужном порядке. Самое интересное, что этому обработчику все равно, по какому параметру будет произведена сортировка. Главное для него - получить массив объектов структуры { val: "someValue", node: sortedNodeReference } где val это значение, по которому будет производиться сортировка, а sortedNodeReference это ссылка на ноду, которая будет переставляться в процессе сортировки (в нашем случае это TR). Как же наполняется массив для сортировки? Генерируется событие collect. Событие распространяется на дочерние элементы у ноды TBODY, и вместе с событием передаются дополнительные параметры data: { sortArr: sortArr, type: stVal } где sortArr - ссылка на массив с данными для сортировки, а type - тип собираемых данных для сортировки (автор, название книги и т.д.). Каждая строка таблицы TR реагирует на событие collect и выполняет обработчик collect_sort_row. Этот обработчик присваивает параметр node в структуре сортируемых данных, но не хватает еще значения сортируемых данных. У нас есть тип данных для сортировки, и он нам может помочь. Мы запускаем еще раз событие collect, но не простое, а с конкретным уровнем запуска, который будет равен типу собираемых данных. На последнее событие collect среагируют только те обработчики, у которых совпадет уровень запуска события. Дабы понять эту многоходовку, приведу другой, более простой пример. Вы должны собрать ФИО всех детей в многоквартирном доме. Вы заходите в каждую квартиру и говорите, ести ты ребенок, то назови свое ФИО. Каждый человек может назвать свое ФИО, но на данный запрос ответят только дети. В следующем примере я изменю код HTML, чтобы посмотреть, какое количество переделок потребуется при данном подходе.
  6. Он не устарел, его просто давно уже догнали и перегнали. Он потерял актуальность как и Microsoft
  7. Посыпаю голову пеплом, был не прав тоже. Да, действительно, HTTP не ограничивает длинну запроса Это ограничение у веб-сервера:
  8. s0rr0w

    print

    Где он это решил? УРЛ?
  9. А про "передачу" в окно не было и речи. Человеку нужно было забрать любым способом данные.
  10. FF - не олдскул. Реальный олдскул это IE4 и NN4.xx
  11. 4 килобайта, ограничено протоколом передачи данных. Я все правильно написал. Требовалось получить данные в новом окне из старого. window.opener как раз вызывается в новом окне и получает доступ к старому. Блин, смотрю на эту технику как на мастодонта юрского периода...
  12. Эти слухи распространяют маститые версталы чтобы конкурентов поменьше было. Верстальщики чаще становятся тимлидами, ПМ-ами, так как их ремесло находится на стыке двух других профессий, что значит почти полное покрытие знаниями процессов веб-разработки.
  13. Тогда лучше всего использовать POST
  14. А я вообще с BASIC'а начинал на УКНЦ...
  15. Тупой холивар какой-то...
  16. Так а профит где? Потренироваться в использовании гитхаба? Или попробовать поработать над одним проектом нескольким людям? На рисование скина для форума нужно потратить примерно две недели (80 часов времени). И еще около 300 часов понадобится для доработок. Не знаю, кто бы был заинтересован в таком проекте... Верстальщику это еще может быть полезно, но только зеленому. Чтобы привлечь к стартапу людей, сначала что-то сделайте. Покажите потенциал. Пусть это будет корявый продукт, но он должен быть. Иначе это утопия так людей в команду набирать.
  17. Присвоить <div class="collapsed">
  18. Две формы должны иметь разные id.
  19. targetElement.style.top = mY + "px"; Может так?
  20. То, что вы делаете, приведет в будущем к весьма странным багам. for in перебирает все ключи, в том числе и те, которые достаются объекту от прототипа. В итоге не факт, что вы получите всегда один и тот же ключ.
  21. В JS нет ассоциативных массивов в чистом виде, вместо них используются объекты По синтаксису JS в короткой декларации, все что идет в левой части является названием ключа. a: 1 и 'a': 1 идентичны. Это не константы, это имена ключей.
  22. s0rr0w

    Firefox 5.0

    1) Скорее всего он поставляется вместе с Офисом. А это убожество я на пушечный выстрел к своему компу не подпущу 2) С какой это радости? 3) А вот это уже другой вопрос, нужно покопать, что поменялось в определении шрифтовых предпочтений. Прикольно, FF5 Ubuntu - все как на первом скриншоте, т.е. все работает
  23. s0rr0w

    Firefox 5.0

    У меня в системе нет шрифта "Arial Narrow" и FF4 показывает аналогично как и скриншот пятого И font substitution не смог найти похожий шрифт, выбрал Times New Roman вместо него. Да, названия шрифтов с пробелами стоит заключать в кавычки.
×
×
  • 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