Jump to content

Great Rash

Expert
  • Posts

    7,974
  • Joined

  • Last visited

  • Days Won

    144

Everything posted by Great Rash

  1. А те которые в инете используются и есть самые распространенные. Arial Tahoma Verdana Times New Roman Times Вот пожалуй и все их нормальных (может забыл чего?). На всякий пожарный пишут в конце sans-serif или serif (без засечек и с засечками соответственно). Это на случай, что не найдется в ОС шрифта, тогда она будет юзать какой-то свой по умолчанию, но без засечек или наоборот с засечками.
  2. не понимаю куда скроллируется? Вправо вы имеете ввиду? Вообще я задал ограничение в 17 символов из-за того, что навряд ли будут вводится бОльшие суммы. Или вы мне вообще не про то хотите сказать?
  3. BassEast серия "Библиотека О'Рейлли". В этой серии нет ни одной плохой книги, это я вам ответственно заявляю. Правда в Книжных тяжеловато найти, по инету заказать проще. Ну или торренты, но на бумаге оно как-то приятней и привычней.
  4. Короче, есть там скрипты какие? Предлагаю отключать их по очереди пока не добьетесь стабильной работы. Если в стилях есть expression, то предлагаю делать то же самое.
  5. Я прямо сейчас сижу на Эклипсе - отвратительная программа Корпоративный стандарт правда. Для верстки она ИМХО совершенно не подходит. В общем то она и разрабатывалась как средство разработки на Java - в этом плане она говорят очень удобная. Но яваскрипт и хтмл там писать невозможно. Плюс пока разберешься со всеми этими плагинами можно свихнуться. SciTE - первый раз слышу. HomeSite - это первый мой редактор после блокнота, забросил его из-за того, что он не умел сохранять в UTF-8 без BOM. Новые версии поди уже умеют? Там работа с фтп достаточно удобная была...
  6. Идея хорошая, а реализация подкачала. Я бы все заголовки сделал огненными. И название поменял бы на что-то типа "CSS Fire Garden" или "Beauty of Fire". Даже второй вариан больше по смыслу подходит. Ну и вообще даешь больше огня!
  7. Да, только не обязательно в диве и не обязательно с абсолютным позиционированием. В любом контейнере. Все, что требуется от юзера это указать id контейнера или ссылку на элемент. А зачем? Если сразу можно делать скриптом. Поверьте, это мало отличается от верстки. Вы все задаете абстрактные вопросы... предлагаю уже начать спрашивать. Что конкретно вас интересует? Что не понятно?
  8. Это вы сейчас описали <textarea>. Текстареа не подходит по дизайну, никакого скролла быть не должно, плюс в ие у нее всегда виден (пусть и неактивный) скроллбар, что тоже не подходит. Поведение внешний вид этого контрола строго описаны. И иначе он выглядеть не будет, хотя вы правы код получится не гибким... надо будет об этом задуматься. Но вернемся к теме. Есть какие-нибудь идеи как справиться с позицией каретки? Я имею ввиду как запоминать позицию, не учитывая пробелы? Упростил метод, вставляющий пробелы: Mask.prototype.doReplace = function() { var fieldText = this.input.value.replace(/\D/g, ''); var bufer = ''; if (fieldText.length > 3) { while (fieldText.length > 3) { var tail = fieldText.substr(fieldText.length - 3, fieldText.length); fieldText = fieldText.substr(0, fieldText.length - 3); bufer = ' ' + tail + bufer; } } this.input.value = fieldText + bufer; } Все, разобрался с позицией каретки! Решение было до безобразия простым (правда доходил до него почти 2 дня, аж башка разламывается)! s0rr0w спасибо за помощь, надо серьезно подумать над вашими словами о гибкости кода.
  9. Код у вас маленький конечно. Но функционал не реализован до конца. Плюс элементы надо скриптом создавать (чтоб как виджет был). Но для 7 летней давности очень даже ничего
  10. А чем плохо формировать HTML скриптом? Так я наоборот получаю больше контроля над элементом. Что значит "форма ввода с привычными функциями и поведением"? Что вы имеете в виду?
  11. Ну "правку", "вид" и "справку" можно было б и не делать. HTML должен генериться скриптом. Писать код предлагаю не функциями, а сразу создавать объект (для облегчения дальнейшего использования), плюс научитесь сразу делать как положено. Я конечно в ООП сам недавно и кому-то из PRO мой стиль покажется так себе, но для изучения сего вопроса будет в самый раз. UPD: Верстку берем за основу.
  12. Задавай вопросы - получай ответы.
  13. s0rr0w Это который а ля Norton Commander? Ну вы реально маньяк батенька! Хотя знаю одного человека который там пишет код.
  14. Идея очень интересная, но слишком уж извратная. Плюс не понятно как отправлять эти данные на сервер. Вообще есть у меня уже код, который тоже не лишен проблем, а именно если я хочу отредактировать сумму где-то порсередине, то получаю кукиш. Может поможете решить эту проблему? Хотя я даже не знаю насколько нормален такой подход... Код: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Test</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <script type="text/javascript"> MoneyInput = function() {}; MoneyInput.prototype.generateHTML = function(parent, hidId, hidName, value) { var prnt = this; // create temporary container to find out symbol width this.temp = document.createElement('div'); this.temp.style.display = 'inline'; this.temp.innerHTML = '0'; document.body.appendChild(this.temp); this.numWidth = this.temp.offsetWidth; this.temp.innerHTML = ' '; this.spaceWidth = this.temp.offsetWidth; this.temp.parentNode.removeChild(this.temp); this.temp = null; // create main HTML this.container = document.createElement('div'); this.container.className = 'money-cont'; if (parent != null) { parent.appendChild(this.container); } else { document.body.appendChild(this.container); } this.hidden = document.createElement('input'); this.hidden.type = 'hidden'; this.hidden.id = hidId; this.hidden.name = hidName; this.container.appendChild(this.hidden); this.rub = document.createElement('input'); this.rub.type = 'text'; this.rub.name = 'noname'; this.rub.maxLength = 19; this.rub.value = '0'; this.rub.style.width = (this.numWidth * 15 + 2) + (this.spaceWidth * 4) + 'px'; this.rub.className = 'money-rub'; this.container.appendChild(this.rub); this.container.appendChild(document.createTextNode('.')); this.cop = document.createElement('input'); this.cop.type = 'text'; this.cop.name = 'noname'; this.cop.maxLength = 2; this.cop.value = '00'; this.cop.style.width = this.numWidth * 2 + 2 + 'px'; this.cop.className = 'money-cop'; this.container.appendChild(this.cop); if (value && value != '') { this.hidden.value = value; var valArr = value.split('.'); this.rub.value = valArr[0]; this.cop.value = valArr[1]; } this.rub.onkeyup = function(e) { e = e || window.event; var key = e.which || e.keyCode; if (key == 190 || key == 191 || key == 110 || key == 39) { if (prnt.cop.setSelectionRange) { prnt.cop.focus(); prnt.cop.setSelectionRange(0, 0); } else if (prnt.cop.createTextRange) { var range = prnt.cop.createTextRange(); range.collapse(true); range.moveEnd('character', 0); range.moveStart('character', 0); range.select(); } } prnt.validateInput(); } this.rub.onblur = function() { if (this.value == '') { this.value = '0'; } } this.rub.onchange = function() { prnt.hidden.value = this.value + '.' + prnt.cop.value; } this.cop.onkeyup = function(e) { e = e || window.event; var key = e.which || e.keyCode; if (key == 37) { prnt.rub.focus(); } if (prnt.getCaretPosition() == 0 && this.value != '') { if (key == 97 || key == 49) { this.value = 1; } else if (key == 98 || key == 50) { this.value = 2; } else if (key == 99 || key == 51) { this.value = 3; } else if (key == 100 || key == 52) { this.value = 4; } else if (key == 101 || key == 53) { this.value = 5; } else if (key == 102 || key == 54) { this.value = 6; } else if (key == 103 || key == 55) { this.value = 7; } else if (key == 104 || key == 56) { this.value = 8; } else if (key == 105 || key == 57) { this.value = 9; } else if (key == 96 || key == 48) { this.value = 0; } } this.value = this.value.replace(/\D/g, ''); } this.cop.onblur = function() { if (this.value == '') { this.value = '00'; } } this.cop.onfocus = function() { if (this.value == '00') { this.value = ''; } } this.cop.onchange = function() { prnt.hidden.value = prnt.rub.value + '.' + this.value; } } MoneyInput.prototype.validateInput = function() { var leftPart = this.rub.value.replace(/\D/g, ''); if (leftPart.length == 4) { var lastNum = leftPart.substr(leftPart.length - 3, leftPart.length); var ost = leftPart.substr(0, leftPart.length - 3); leftPart = ost + ' ' + lastNum; } else if (leftPart.length > 4) { var lastNum = ''; var ost = ''; var res = ''; var tmpStr = ''; var arr = leftPart.split(' '); for (var i = 0; i < arr.length; i++) { tmpStr += arr[i]; } while (true) { lastNum = tmpStr.substr(tmpStr.length - 3, tmpStr.length); ost = tmpStr.substr(0, tmpStr.length - 3); res = ' ' + lastNum + res; if (ost.length >= 4) { tmpStr = ost; } else { res = ost + res; break; } } leftPart = res; } while ( leftPart.length > 1 && leftPart.indexOf('0') == 0 ) { leftPart = leftPart.substr( 1, leftPart.length); } this.rub.value = leftPart; } MoneyInput.prototype.getCaretPosition = function() { var caretPos = 0; if (document.selection) { this.cop.focus(); var sel = document.selection.createRange(); sel.moveStart('character', -this.cop.value.length); caretPos = sel.text.length; } else if (this.cop.selectionStart || this.cop.selectionStart == '0') { caretPos = this.cop.selectionStart; } return caretPos; } MoneyInput.prototype.addValueChangeListener = function(evt, func) { if (document.addEventListener) { this.hidden.addEventListener(evt, func, false); } else if (document.attachEvent) { this.hidden.attachEvent('on' + evt, func); } else { this.hidden['on' + evt] = func; } } MoneyInput.prototype.addEventListener = function(evt, func) { if (document.addEventListener) { this.rub.addEventListener(evt, func, false); this.cop.addEventListener(evt, func, false); } else if (document.attachEvent) { this.rub.attachEvent('on' + evt, func); this.cop.attachEvent('on' + evt, func); } else { this.rub['on' + evt] = func; this.cop['on' + evt] = func; } } </script> </head> <body> <script type="text/javascript"> var money = new MoneyInput(); money.generateHTML(null, 'test', 'test', ''); </script> </body> </html>
  15. RUSA Компания Nival Interactive, должность WEB-мастер. Было это год назад. Туда меня не взяли в итоге, что оказалось к лучшему - нашел более интересное (в плане зарплаты и профессионального роста) место. Сейчас вакансия закрыта (на сколько я знаю), а жаль - бесплатное пиво после 19:00 хорошая штука.
  16. Люди хотят начать изучать JS. Почему бы им не помочь?
  17. Задание: Сделать калькулятор. Описание: 1) поле ввода цифр - одно 2) Функционал - все стандартные арифметические операции (сложение, вычитание и т.д.), плюс тригонометрия (синус, косинус и т.п.), плюс возведение в степень (любую). (дальше видно будет) 3) дизайн - любой (должно же быть поле для творчества). 4) результат операции выводим в то же поле, в каком вводим цифры. 5) в последствии возможен ввод с клавы. UPD: справочную информацию можно найти тут: http://www.w3schools.com/jS/
  18. Верстка это как велосипед. После пары месяцев без велосипеда катаешься не очень, но былые навыки наверстываешь быстро. У меня самый большой перерыв в работе был 3 месяца (это когда я к HTML вообще не прикасался, не читал ничего в инете и вообще ничего не делал). Я даже на собеседовании забыл как бекграунд назначить у <body> (не CSS имеется ввиду). И в итоге ничего - за пару дней освоился. Даже еще лучше стал все делать. Лично мне яваскрипт позволил верстать в разы лучше. Пришло понимание многих вещей, которых я раньше не понимал. mishka2 В сами-знаете-какой-теме.
  19. В ИЕ все может быть! Особенно в шестом. Лично я вешал его экспрешнами. А еще если с DOM неграмотно скрипт работает (в частности удаляет ноды неграмотно), то бывает и восьмерка падает.
  20. Про "Вы" - привычка. Причем она у меня только на этом форуме сложилась. Тим О'Рейлли - безусловно крутой мужик! Его книги надо читать все. Чего я, к сожалению, еще не сделал. К моему стыду не читал ни одной книги его издательства (о чем несказанно жалею) и все из за моей природной любви к халяве. Надо заполнить этот пробел. mishka2 Дык это, я завсегда! Задание то же - сделайте калькулятор на JS. Для начала будет самое то. Создавайте тему, я конечно и сам далеко не профи но чем смогу помогу.
  21. Searcher Пользуясь случаем, разрешите задать вопрос не в тему: как в Notepad++ добавить в меню "Запуск" пункты "launch in Opera", "launch in Safari" и т.п., а то там только запуск в ИЕ и Мозилле? Хочется большего.
  22. Надеюсь увидеть. psywalker 1) Поверьте, вы знаете достаточно и даже более чем. Тут ИМХО главное старание, а его у вас хоть отбавляй. 2) Опять же ИМХО должна быть определенная цель или практическая задача. Предлагаю вам написать на JS калькулятор для начала. Со своей стороны обязуюсь помочь. Понятно в какой теме... 3) А вот это лишнее ИМХО (снова). Хотя при словах "я знаю CMS Jomla, Битрикс, Wordpress и т.п." будущий работодатель теряет волю. Вы конечно же имели в виду пизу
  23. psywalker Программить вам уже бы надобно товарищ. На одной верстке на бутер с икрой не заработать к сожалению.
  24. Notepad++ Очень нравицца! Все что надо есть, всего чего не надо нет. Халявный, есть плагины (в том числе официальные), ну и вообще... Да его все знают.
  25. 1. Переделать все заново. 2. photoshop.demiart.ru 3. О каких скриптах идет речь? 4. В каком поиске? В яндексе/гугле? Поверьте, для того, чтобы "выскакивал" нужно приложить гораздо больше усилий чем приложили вы. Даже профессия такая есть SEO-оптимизатор. SEO - Search Engine Optimisation (оптимизация для поисковых машин). "Учиться, учиться и еще раз учиться!" (с) В.И. Ленин
×
×
  • 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