Jump to content

D.S.Denton

Expert
  • Posts

    993
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by D.S.Denton

  1. покритикую код:+) красиво, но еще можно в стили вынести немножко <div id="header"> <img src="images/4.gif" style="float: left; padding: 5px 5px 5px 15px; margin-right: 10px;" alt=""> <img src="images/phone.jpg" style="float: right; padding: 15px;" alt=""> <h1 style="margin-top: 0px;">Московская Ипотечная Компания</h1> <div class="clearfix"></div> </div> #header h1 {margin-top: 0;} а картинкам задать айди и тоже вынести. ну и дальше аналогично. впрочем это мелочи.
  2. менюшные картинки по hover не такие бы белые... добавь чуть сероватый оттенок или под общий тон - голубоватый, но только слегка, примерно настолько каким цветом ссылки в нижней дублирующей навигации. а вот в ней надо либо тоже фон сделать потемнее, либо текст ссылок облако слева резко так обрывается внизу в менюшке по ховеру подчеркивать до двоеточия, не трогая его... симпатичнее будет кроме того, лучше ссылки-спойлеры сделать все же отображающимися в статусной строке типа "show_category(номер)" чтоб пользователь не ломал голову над "куда я попаду", ожидая загрузки новой страницы, а вместо этого просто список открывается
  3. ага, например так: превращается в: #MenuSub1 {width:34; height:90; background:url('/images/navy.01.on.png') no-repeat;}
  4. код страницы посмотреть не позволяет религия или лень? <table border="0" cellpadding="0" cellspacing="0"> <tbody><tr> <td id="MenuSub1" height="90" width="34"><a href="/about-site/"><img src="/images/navy.01.on.png" alt="" border="0" height="90" width="34"></a></td> <td id="MenuSub2" height="90" width="30"><a href="/about-me/"><img src="/images/navy.02.on.png" alt="" border="0" height="90" width="30"></a></td> <td id="MenuSub3" height="90" width="39"><a href="/photo/"><img src="/images/navy.03.on.png" alt="" border="0" height="90" width="39"></a></td> <td id="MenuSub4" height="90" width="29"><a href="/links/"><img src="/images/navy.04.on.png" alt="" border="0" height="90" width="29"></a></td> <td id="MenuSub5" height="90" width="48"><a href="/media/"><img src="/images/navy.05.on.png" alt="" border="0" height="90" width="48"></a></td> </tr> </tbody></table>
  5. и что? ajax, он же HTTP XML Request, это развитие технологии javascript. без обработчика хоть укликайся по ссылкам с "решетками" ничего все равно работать не будет. вот собсна оно и есть: http://www.jasonjulien.com/include/slideshow_js/ смотрим дальше. ну это и так по комментарию понятно, задан массив всех фото, откуда сразу становится понятно зачем только что для получения айди отнимали единицу, ведь в массивах первый элемент имеет индекс 0 // Define each photo's name, height, width, and caption var photoArray = new Array( // Source, Width, Height, Caption new Array("work.jpg", "850", "400", ""), new Array("lwcc.jpg", "850", "400", ""), new Array("arts07.jpg", "850", "400", ""), new Array("ebenezers.jpg", "850", "400", ""), new Array("tcot.jpg", "850", "400", ""), new Array("fuze.jpg", "850", "400", ""), new Array("onep3.jpg", "850", "400", ""), new Array("btgh.jpg", "850", "400", ""), new Array("change.jpg", "850", "400", ""), new Array("shcc.jpg", "850", "400", ""), new Array("cla-web.jpg", "850", "400", ""), new Array("otc.jpg", "850", "400", ""), new Array("kriterion.jpg", "850", "400", ""), new Array("jetgolf.jpg", "850", "400", ""), new Array("wil-sh.jpg", "850", "400", ""), new Array("frechette.jpg", "850", "400", "") this.prevLink = 'PrevLink'; и this.nextLink = 'NextLink'; очевидно определяют айди элементов в документе, про что я также уже сказал сразу. в общем все тоже самое можно было реализовать гораздо проще, без 11 js-файлов весом больше 100кб в сумме. и без использования ajax коль на то пошло, достаточно чистого javascript 1.0 и даже моих практически нулевых знаний этого языка. вот гораздо более простой вариант, год назад примерно здесь же на хтмлбуке его уже выкладывал. если кому охота - дорабатывайте. прикрутить туда например генерацию массива фото пхпшными средствами и вообще будет удобно http://denton.msk.ru/download/DCPG2_2.1.rar
  6. так и должно быть, ведь имя задаешь то же самое. если не принципиально название файла, лучше имя генерировать как-нибудь типа $name = md5(time()); ну а если надо чтоб имя было все же достаточно читабельным, примерно так: $fname = 1; while (file_exists('my_xml_file_'.$fname.'xml')) {$fname++;}
  7. где-то выше, скорее всего в head стоит js-обработчик, отслеживающий клики по ссылкам, ведь у них есть id. соответственно видя клик по элементу с айди PrevLink он смотрит текущее значение какого-то параметра (номер фото так понимаю) и уменьшает его на единицу. аналогично увеличение. а смотреть точнее не полезу, принцип и так понятен
  8. ну у меня аналогично только цветом, notepad++ выделяет пример иксмл-документа: <?xml version="1.0" standalone="yes"?> <RaceDataset xmlns="http://tempuri.org/RaceDataset.xsd"> <xs:schema id="RaceDataset" targetNamespace="http://tempuri.org/RaceDataset.xsd" xmlns:mstns="http://tempuri.org/RaceDataset.xsd" xmlns="http://tempuri.org/RaceDataset.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified"> <xs:element name="RaceDataset" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="RaceInfo"> <xs:complexType> <xs:sequence> <xs:element name="RaceName" type="xs:string" minOccurs="0" /> <xs:element name="Nature" type="xs:string" default="Organics" minOccurs="0" /> <xs:element name="FirstResource" type="xs:string" default="Minerals" minOccurs="0" /> <xs:element name="SecondResource" type="xs:string" default="Energy" minOccurs="0" /> <xs:element name="MinT" type="xs:float" default="0" minOccurs="0" /> <xs:element name="MaxT" type="xs:float" default="99" minOccurs="0" /> <xs:element name="PopBonus" type="xs:float" default="0" minOccurs="0" /> <xs:element name="OutputBonus" type="xs:float" default="0" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <RaceInfo> <RaceName>New race</RaceName> <Nature>Organics</Nature> <FirstResource>Minerals</FirstResource> <SecondResource>Energy</SecondResource> <MinT>1</MinT> <MaxT>99</MaxT> <PopBonus>0</PopBonus> <OutputBonus>0</OutputBonus> </RaceInfo> </RaceDataset>
  9. неа, так не надо. в коде у тебя ниже правильно вроде написано, т.к. функция она такая в принципе: function название(аргументы) { текст функции }
  10. проверяй теперь сво xml, который разбираешь, ведь он ругается что в этой иксмлке отсутствует
  11. ну так бы сразу:+) а теперь попробу открыть "мой компьютер" и ввести этот адрес. разумеется такого не существует, так что или указывать надо без первого слеша, или поставить перед этим слешем точку для использования относительного пути
  12. если ты про конкатенацию - вижу. но вдруг это фича
  13. ну и что? проблема-то в чем, сказать так сложно, да? типа "догадывайтесь, дорогие, сами"
  14. а текст ошибки сообщать типа как не надо? возможно дело в опечатке $handler = new Content_Hendler(); при названии класса Content_Handler
  15. вот-вот... прям грустно стало от этого вероломства
  16. ну это понимать так что не рекомендовано Консорциумом, но поддерживается всеми браузерами
  17. угу, помню-помню..но перечитывать не тянет
  18. а не проще ли по такой логике: ф-и include абсолютно пофиг какой файл инклюдить. так? значит делаем папку с инклюдящимися файлами http://mysite.ru/mail_includes/имя_файла.foo а теперь когда через переменную инклюдим, то ГЕТ получаем http://mysite.ru/script.php?file=имя_файла строка получения переменной: $file = (isset($_GET['file']) && (strlen($_GET['file'] > 0)) ? $_GET['file'] : '404'; и инклюд становится таким: include('mail_includes/'.$file.'.foo'); плюс для 404 соответственно надо положить 404.foo upd: забыл пояснить... предположим подставлен произвольный текст: http://site.com/hack.php инклюд пытается получить файл - ./mail_includes/http://site.com/hack.php.foo, которого разумеется на нашем сервере нет, а к внешнему обратиться ну никак не получится, что бы злой юзер ни вводил, ведь уже задана инклюд-директория на этом сервере. но чтоб не было ругательств про невозможность инклюда файла или пустого места, дополнительно перед инклюдом вводим проверку (для сокращения кода предварительно вынесем итоговый путь к файлу в переменную). $inc_file = 'mail_includes/'.$file.'.foo'; (file_exists($inc_file) && is_file($inc_file)) ? include($inc_file) : include('mail_includes/404.foo'); upd2: для защиты от сильно умных юзеров, можно еще добавить фильтр, чтоб при помощи имени .. нельзя было перейти в папки выше - бывают иногда такие упрямцы, судя по логгеру. потому $inc_file = 'mail_includes/'.$file.'.foo'; превращается в $inc_file = 'mail_includes/'.str_replace('../','',$file).'.foo'; и попытка ввести что-то вроде ../index также обречена (хотя за счет приписки расширения foo она и так не удалась бы, но это на случай если использовать не foo, а html или php)
  19. один из вариантов: <script language="javascript" type="text/javascript">
  20. имхо, на 404 вообще собственно "404" ссылкой быть не должно. ни на себя, ни на другую страницу. посмотрел архив квеста...остался в недоумении от ридми- там упоминается дамп БД, но в упор не нашел;+) "классовый" модуль новостей- почерпнул себе много интересных мыслей, потряс головой чтоб заархивировать. хорошая реализация, завидую
  21. D.S.Denton

    DOCTYPE

    никогда по SVN-репозиториям не шарился? тогда понятно, на пальцах: пишем мы что-то. обзываем это что-то версия 1.0 и файл кладем например myprogram-1.0.exe но вот сделали маленькое изменение (орфографию поправили). можно перезалить файл, но тогда уже скачавшие экзешник в папку софта не поймут чем myprogram-1.0.exe отличается от того что было с таким же именем. ну да ладно, это можно пережить. а стоит над проектом работать более чем одному человеку, как координировать действия становится не так просто. один взял файл 1.0, что-то изменил, перезалил.. а в это время второй, который не в курсе изменений, работал с той же исходной 1.0 и сделал что-то еще, перезалил позднее. в реузльтате потеряно сделанное первым, а если дело на сайте, где написано например "1 января, 8:00, сделан прозрачный фон логотипа. //первый" и далее "1 января, 8:41, убрано напоминание о регистрации при закрытии программы //второй", человек прочитал, ожидает что в скачанном будут оба изменения, а там опа - только второе! и это в лучшем случае, т.к. второй также мог не редактировать страницу после первого, а также добавить сообщение в исходный текст. имея же кроме нумерации версии отметку времени (это очень актуально при работе с альфа и бета выпусками), очень удобно отслеживать изменения, отменять ненужное, а пользователь имеет гораздо больший выбор. применительно к доктайпу это означает что валидатор увидел код, в котором заявлен доктайп первого релиза первой версии, после которого что-то было изменено, и проверяемый код соответствует также измененной более поздней версии, потому предлагает указать как раз ее. а какую все же ставить - выбор за автором, выступающим здесь в качестве пользователя
  22. D.S.Denton

    DOCTYPE

    правильно, см внимательно - 2002 год, 4 месяц (http://www.w3.org/QA/2002/04/valid-dtd-list.html) а доктайп от 8 месяца (http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-transitional.dtd) отвечая на вопрос - это "нестрогая" версия XHTML 1.0, для облегчения перехода
  23. неправильные книги. в правильных книгах написано что он необязателен при таких-то условиях и обязателен при таких-то.
  24. — flood begin — одобряю а вот это не очень... — flood end —
×
×
  • 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