Jump to content

DjTarik

User
  • Posts

    698
  • Joined

  • Last visited

Everything posted by DjTarik

  1. DjTarik

    HasLayout

    1. Значит в моём случае всё верно? Картинка отдельно от параграфов? 2. ХЗ, что тут ещё можно придумать. Пока на проекте сделал так - вынес блок со ссылкой за див, который оборачивает текст и картинку. Получилось, что теперь картинка и параграфы - это одна чать, а ссылка "Вернуться" - вторая... Так проблем нету, т.к. нижний отступ картинки теперь в диве обертке. Но сама проблема осталась... )
  2. DjTarik

    HasLayout

    Ну, тогда вроде если текст по высоте больше, чем картинка - криво. Два вопроса: 1. Если есть такие варианты, что картинка может быть, а может и не быть, текст может быть, а может и нет - img должен находится в <p></p>, или это всё равно? 2. Я так понимаю, это глюк IE, что у него не схлопывается нижний маржин у зафлоченной картинки?
  3. C обязательными полями понятно. А если это не обязательное поле и в нем была подсказка? Пользователь не заполнил поле - что мне отправлять? Я хотел пустое... Как нужно?
  4. Нет ) Эммм... По моей логике, там по умолчанию должны быть подсказки, типо как корректно заполнять форму. Соответственно, надпись "Ваше имя" оставлять не логично... Или как правильно? Чтобы не отправлять на сервер данные по умолчанию, если поле не было изменено? Спасибо за замечания. Пойду исправлять...
  5. Вот, написал мелкий скриптик: http://tarik.kasperovich.ru/test_5/index.html // The document is loaded --> onload = function () { ChangeFormValue(); } // --> // Change contained in "value" --> function ChangeFormValue () { var text = new Array(); // array of values by default --> var form = document.getElementById('ChangeFormValue'); // form's id --> var array = form.elements; // array of form's elements --> for (var i = 0; i < array.length; i++) { var el = array[i]; // element --> if (el.type == 'text' || el.tagName.toLowerCase() == 'textarea') // only "input type='text'" & "textarea" --> { text[i] = el.value; // array of values by default --> el.num = i; el.onfocus = function () { if (this.value == text[this.num]) { this.value = ''; } } el.onblur = function () { if (this.value == '') { this.value = text[this.num]; } } } } form.onsubmit = function () { return ResultValue(array, text); // arrays of elements and values by default --> } } // --> // Check result --> function ResultValue (array, text) { for (var i = 0; i < array.length; i++) { var el = array[i]; // element --> if (el.type == 'text' || el.tagName.toLowerCase() == 'textarea') // only "input type='text'" & "textarea" --> { if (el.value == text[i]) { el.value = ''; } } } return false; } // --> Работает таким образом: 1. Берём 'id' формы, пробегаем по всем элементам. 2. Заносим в массив значения 'value' по умолчанию. 3. Находим только текстовые поля и "текстареи" (потому что больше нигде нельзя вводить информацию). 4. На события 'onfocus' и 'onblur' проверяем введённые значения со значениями по умолчанию. Если что-либо ввели - оставляем введённое. Если нет - возвращаем то, что было изначально. 5. Перед отправкой формы нужно проверить, что если в полях остались значения по умолчанию - заменить их на пустые (типо ничего не ввели) и отправить форму. Кто может указать на ошибки в коде и логике? Я только учусь - ваши мнения мне будут полезны... Спасибо.
  6. Ну, я просто думал, что это как-то просто и проблем быть не должно)
  7. DjTarik

    HasLayout

    Или я чего-то не догоняю - или можно пример? =) А без паддингов? Меня полностью устраивают маржины и их схлопывание... Но я так и не понял причину поведения в IE. Это баг?
  8. DjTarik

    HasLayout

    Да вроде не будет... Я так понимаю, это глюк IE, что у него не схлопывается нижний маржин? 1. Тогда я не знаю, можно ли такие блоки верстать кроссбраузерно. 2. Если есть такие варианты, что картинка может быть, а может и не быть, текст может быть, а может и нет - img должен находится в <p></p>, или это всё равно? O_o
  9. DjTarik

    HasLayout

    =) я так и подумал) И тогда последний вопрос, третий: Как верстать такие блоки кроссбраузерно? + ещё с учётом того, что картинка может быть, а может и не быть. Только с отдельным стилем для IE?
  10. DjTarik

    HasLayout

    Спасибо, теперь понятно. Вопрос 2: почему все-таки в IE нижний отступ отличается?
  11. DjTarik

    HasLayout

    Вопрос 1: Почему к абзацев маржины схлопываются, а у картинки - нет?
  12. DjTarik

    HasLayout

    Я тут все перечитал... Короче - можно вырубить хэслоят... Но для img у меня это так и не получилось. Скриптом проверяю свойство - всегда тру... Даже не знаю, что ещё сделать... =( Хотя проблема может и не в нем. Решил замутить тестовую страницу: http://tarik.kasperovich.ru/test_4/index.html Есть 2 вопроса: 1. Во всех браузерах - почему не схлопывается маржин у картинки сверху? (снизу всё нормально) 2. в IE снизу маржин не схлопывается... Кто может рассказать, почему?
  13. DjTarik

    HasLayout

    Есть, написать для IE отдельный стиль или подстраивать стили для всех браузеров, как для IE) Ну, я уже много чего перечитал - вроде не поможет, хотя я ещё пойду пробовать. А вот это ХЗ. Читал, что есть такое hasLayout=''? но мне нужно через CSS... Есть ли такой экспрешн? P.S. А вообще - просто если я <img> ставлю margin: ; - то он не будет схлопываться с тем же margin: ; в <p>. Вот в такой структуре, допустим: <div class="editor"> <img src="#" width="300" height="225" alt="" title="" /> <p>text</p> <p>text</p> <p>text</p> <p style="clear: both;"><a href="#" title="#">Вернуться назад</a></p> </div> Если картинка длиннее параграфов - очистка в ie не схлопнет маржины снизу. Как-то так. ) Я решил, что проблема из-за haslayout)))
  14. DjTarik

    HasLayout

    Да, все ищут, что это такое и как его использовать, как включить... А мне нужно отключить. =) Т.е. по умолчанию в ie6 zoom: 1; имеется у img. Как его отключить? =))) Никогда не сталкивался с такой задачей...
  15. Я имею ввиду, если я оберну две своих функции в пустую (к примеру, я просто не знаю, можно ли так делать) - а уже в ней задам глобальную переменную - она будет глобально работать только в функции обертке и во всех внутренних функциях... Так как-нить можно? Ну, пока это только в теории...
  16. А если как-нить обернуть их в пустую функцию? Вот и я про то же. Мне просто удобно, когда переменные названы семантически, и если они выполняют одну и ту же функцию, то я их и называю одинаково. В моём случае, они для двух функций делают одно и тоже - вот я и хотел их вынести за функции - и кода меньше, и писать одно и то же не придётся... Так нельзя?
  17. Да нету файликов... Примерно так: onload = function () { Function_1 (); } Function_1 () { var obj; var name; Function_2 (); } Function_2 () { var obj; var name; } Function_3 () { var obj; var name; var other; } Function_4 () { var id; var obj; var name; var back; var other; } Тут переменные "obj" и "name" используются в функциях 1, 2 и 3, 4. Могу ли сделать эти переменные глобальными, но чтобы они были доступны только в функциях 1 и 2, а в 3 и 4 - устанавливались заново? P.S. Сначала хотел сделать их просто глобальными, а в нужных функциях использовать VAR - но это неудобно, т.к. функций может быть очень много и не хочется каждый раз следить за тем, чтобы переменные переопределять... =(
  18. Возможно вопрос нубский, но: Пример: У меня есть файлик со скриптами (в нём все скрипты, которые используются на сайте). Там скрипты для галереи, форм и т.д. Соответственно, очень много разных функций. Для скриптов формы я использую всего 2 функции, причем есть одинаковые переменные с одинаковыми значениями. Вопрос: Если я сделаю эти переменные глобальными, могу ли я как-нибудь задать область видимости для них так, чтобы их можно было использовать только в этих двух функциях? O_o Другими словами, мне нужно как бы разбить один файл со скриптами на отдельные логические части, и чтобы глобальные переменные не пересекались. P.S. Надеюсь понятно объяснил)
  19. Понял, пойду разбираться... ok... Там просто уже полностью готовое решение было...
  20. Я немного не догоняю вот эту строчку: array[i].num = i+1 зачем?
  21. Отдельные примеры, это ссылки в сети? P.S. Макс, а можешь рассказать на словах, что именно ты сделал, чтобы избавиться от замыканий? O_o
  22. Вопрос в тему: Вот тут можно обойтись БЕЗ замыканий???: onload = function () { ChangeFormValue(); } function ChangeFormValue () { var form = document.getElementById('ChangeFormValue'); // form's id --> var array = form.getElementsByTagName('input'); for (i = 0; i < array.length; i++) { el = array[i]; el.onfocus = function () { alert(i); } } } <form action="#" method="get" id="ChangeFormValue"> <fieldset> <input type="text" name="#" value="#" /> <input type="text" name="#" value="#" /> <input type="text" name="#" value="#" /> </fieldset> </form> Если да - то как? O_o
  23. Всё. Замутил) Оказывается, что все проблемы были в верстке... =) Поигрался с позиционированием - и всё получилось.
  24. Короче - понял в чём проблема... Когда я ставлю событие (function(i){ neighbor.onmouseover = function () { alert("1"); array[i].nextSibling.firstChild.className = 'radio-on-over'; }; neighbor.onmouseout = function () { alert("2"); array[i].nextSibling.firstChild.className = 'radio-on'; }; })(i); - алерты срабатывают, а изменение классов - нет. Почему - пока не понял... Может всё дело в замыкания? O_o Не получается сменить класс... Стиль могу присвоить - а вот класс - нет... Что за фигня? Где я намудрил?
  25. Где-то я слышал, что у гугла есть такая функция - типо список своих сайтов, по которым вести поиск. Не знаю, есть ли такое на самом деле, но было бы не плохо иметь приложение, которое синхронизирует закладки с этим самым гуглом. И потом осуществляет поиск там. Всё.))) Синхронизация же закладок есть, рсс - есть... Должно и такое быть)
×
×
  • 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