Great Rash
Expert-
Posts
7,974 -
Joined
-
Last visited
-
Days Won
144
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Great Rash
-
Список наиболее универсальных\распространенных шрифтов
Great Rash replied to lyapiss's topic in Tricks and solutions
А те которые в инете используются и есть самые распространенные. Arial Tahoma Verdana Times New Roman Times Вот пожалуй и все их нормальных (может забыл чего?). На всякий пожарный пишут в конце sans-serif или serif (без засечек и с засечками соответственно). Это на случай, что не найдется в ОС шрифта, тогда она будет юзать какой-то свой по умолчанию, но без засечек или наоборот с засечками. -
не понимаю куда скроллируется? Вправо вы имеете ввиду? Вообще я задал ограничение в 17 символов из-за того, что навряд ли будут вводится бОльшие суммы. Или вы мне вообще не про то хотите сказать?
-
Задание для mishka2 и psywalker (и не только)
Great Rash replied to Great Rash's question in JavaScript
BassEast серия "Библиотека О'Рейлли". В этой серии нет ни одной плохой книги, это я вам ответственно заявляю. Правда в Книжных тяжеловато найти, по инету заказать проще. Ну или торренты, но на бумаге оно как-то приятней и привычней. -
Короче, есть там скрипты какие? Предлагаю отключать их по очереди пока не добьетесь стабильной работы. Если в стилях есть expression, то предлагаю делать то же самое.
-
Я прямо сейчас сижу на Эклипсе - отвратительная программа Корпоративный стандарт правда. Для верстки она ИМХО совершенно не подходит. В общем то она и разрабатывалась как средство разработки на Java - в этом плане она говорят очень удобная. Но яваскрипт и хтмл там писать невозможно. Плюс пока разберешься со всеми этими плагинами можно свихнуться. SciTE - первый раз слышу. HomeSite - это первый мой редактор после блокнота, забросил его из-за того, что он не умел сохранять в UTF-8 без BOM. Новые версии поди уже умеют? Там работа с фтп достаточно удобная была...
-
Идея хорошая, а реализация подкачала. Я бы все заголовки сделал огненными. И название поменял бы на что-то типа "CSS Fire Garden" или "Beauty of Fire". Даже второй вариан больше по смыслу подходит. Ну и вообще даешь больше огня!
-
Задание для mishka2 и psywalker (и не только)
Great Rash replied to Great Rash's question in JavaScript
Да, только не обязательно в диве и не обязательно с абсолютным позиционированием. В любом контейнере. Все, что требуется от юзера это указать id контейнера или ссылку на элемент. А зачем? Если сразу можно делать скриптом. Поверьте, это мало отличается от верстки. Вы все задаете абстрактные вопросы... предлагаю уже начать спрашивать. Что конкретно вас интересует? Что не понятно? -
Это вы сейчас описали <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 спасибо за помощь, надо серьезно подумать над вашими словами о гибкости кода.
-
Задание для mishka2 и psywalker (и не только)
Great Rash replied to Great Rash's question in JavaScript
Код у вас маленький конечно. Но функционал не реализован до конца. Плюс элементы надо скриптом создавать (чтоб как виджет был). Но для 7 летней давности очень даже ничего -
А чем плохо формировать HTML скриптом? Так я наоборот получаю больше контроля над элементом. Что значит "форма ввода с привычными функциями и поведением"? Что вы имеете в виду?
-
Задание для mishka2 и psywalker (и не только)
Great Rash replied to Great Rash's question in JavaScript
Ну "правку", "вид" и "справку" можно было б и не делать. HTML должен генериться скриптом. Писать код предлагаю не функциями, а сразу создавать объект (для облегчения дальнейшего использования), плюс научитесь сразу делать как положено. Я конечно в ООП сам недавно и кому-то из PRO мой стиль покажется так себе, но для изучения сего вопроса будет в самый раз. UPD: Верстку берем за основу. -
Задание для mishka2 и psywalker (и не только)
Great Rash replied to Great Rash's question in JavaScript
Задавай вопросы - получай ответы. -
s0rr0w Это который а ля Norton Commander? Ну вы реально маньяк батенька! Хотя знаю одного человека который там пишет код.
-
Идея очень интересная, но слишком уж извратная. Плюс не понятно как отправлять эти данные на сервер. Вообще есть у меня уже код, который тоже не лишен проблем, а именно если я хочу отредактировать сумму где-то порсередине, то получаю кукиш. Может поможете решить эту проблему? Хотя я даже не знаю насколько нормален такой подход... Код: <?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>
-
RUSA Компания Nival Interactive, должность WEB-мастер. Было это год назад. Туда меня не взяли в итоге, что оказалось к лучшему - нашел более интересное (в плане зарплаты и профессионального роста) место. Сейчас вакансия закрыта (на сколько я знаю), а жаль - бесплатное пиво после 19:00 хорошая штука.
-
Задание для mishka2 и psywalker (и не только)
Great Rash replied to Great Rash's question in JavaScript
Люди хотят начать изучать JS. Почему бы им не помочь? -
Задание: Сделать калькулятор. Описание: 1) поле ввода цифр - одно 2) Функционал - все стандартные арифметические операции (сложение, вычитание и т.д.), плюс тригонометрия (синус, косинус и т.п.), плюс возведение в степень (любую). (дальше видно будет) 3) дизайн - любой (должно же быть поле для творчества). 4) результат операции выводим в то же поле, в каком вводим цифры. 5) в последствии возможен ввод с клавы. UPD: справочную информацию можно найти тут: http://www.w3schools.com/jS/
-
Верстка это как велосипед. После пары месяцев без велосипеда катаешься не очень, но былые навыки наверстываешь быстро. У меня самый большой перерыв в работе был 3 месяца (это когда я к HTML вообще не прикасался, не читал ничего в инете и вообще ничего не делал). Я даже на собеседовании забыл как бекграунд назначить у <body> (не CSS имеется ввиду). И в итоге ничего - за пару дней освоился. Даже еще лучше стал все делать. Лично мне яваскрипт позволил верстать в разы лучше. Пришло понимание многих вещей, которых я раньше не понимал. mishka2 В сами-знаете-какой-теме.
-
В ИЕ все может быть! Особенно в шестом. Лично я вешал его экспрешнами. А еще если с DOM неграмотно скрипт работает (в частности удаляет ноды неграмотно), то бывает и восьмерка падает.
-
Про "Вы" - привычка. Причем она у меня только на этом форуме сложилась. Тим О'Рейлли - безусловно крутой мужик! Его книги надо читать все. Чего я, к сожалению, еще не сделал. К моему стыду не читал ни одной книги его издательства (о чем несказанно жалею) и все из за моей природной любви к халяве. Надо заполнить этот пробел. mishka2 Дык это, я завсегда! Задание то же - сделайте калькулятор на JS. Для начала будет самое то. Создавайте тему, я конечно и сам далеко не профи но чем смогу помогу.
-
Searcher Пользуясь случаем, разрешите задать вопрос не в тему: как в Notepad++ добавить в меню "Запуск" пункты "launch in Opera", "launch in Safari" и т.п., а то там только запуск в ИЕ и Мозилле? Хочется большего.
-
Надеюсь увидеть. psywalker 1) Поверьте, вы знаете достаточно и даже более чем. Тут ИМХО главное старание, а его у вас хоть отбавляй. 2) Опять же ИМХО должна быть определенная цель или практическая задача. Предлагаю вам написать на JS калькулятор для начала. Со своей стороны обязуюсь помочь. Понятно в какой теме... 3) А вот это лишнее ИМХО (снова). Хотя при словах "я знаю CMS Jomla, Битрикс, Wordpress и т.п." будущий работодатель теряет волю. Вы конечно же имели в виду пизу
-
psywalker Программить вам уже бы надобно товарищ. На одной верстке на бутер с икрой не заработать к сожалению.
-
Notepad++ Очень нравицца! Все что надо есть, всего чего не надо нет. Халявный, есть плагины (в том числе официальные), ну и вообще... Да его все знают.
-
Неразбериха в верстке с использованием HTML и СSS
Great Rash replied to mira's question in HTML Coding
1. Переделать все заново. 2. photoshop.demiart.ru 3. О каких скриптах идет речь? 4. В каком поиске? В яндексе/гугле? Поверьте, для того, чтобы "выскакивал" нужно приложить гораздо больше усилий чем приложили вы. Даже профессия такая есть SEO-оптимизатор. SEO - Search Engine Optimisation (оптимизация для поисковых машин). "Учиться, учиться и еще раз учиться!" (с) В.И. Ленин