AKS
User-
Posts
297 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Everything posted by AKS
-
При клике курсора, надпись исчезает, а так же фон
AKS replied to vrednyu4aya's question in JavaScript
Продолжать бороться и не сдаваться! -
Вот, написал упрощенный примерчик. Мне кажется, что получилось наглядно (для удобства - документ целиком): <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title></title> <meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" /> <script type='text/javascript'> /*<![CDATA[*/ document.onmouseup = resizer; document.onmousemove = function () { return false; }; function resizer(e) { var target = (e = e || event).target || e.srcElement; var coords = arguments.callee.coords; if (e.type == 'mousedown' && target.tagName.toLowerCase() == 'div') { arguments.callee.coords = [e.clientX, e.clientY]; } else if (e.type == 'mouseup' && coords && coords.length) { var i = this.getElementsByTagName('textarea').item(0); var w = i.offsetWidth - (coords[0] - e.clientX); var h = i.offsetHeight - (coords[1] - e.clientY); if (w > 0 && h > 0) { i.style.width = w + 'px'; i.style.height = h + 'px'; }; coords.length = 0; }; }; /*]]>*/ </script> <style type='text/css'> /*<![CDATA[*/ #dragger { background-color:red; padding:0 0 6px 0; cursor:n-resize; float:left; } #dragger div { background-color:green; padding:0 6px 0 0; cursor:e-resize; } #dragger textarea { _margin-top:-1px; } /*]]>*/ </style> </head> <body> <div id='dragger' onmousedown='resizer(event);'> <div> <textarea cols='10' rows='10'></textarea> </div> </div> </body> </html>
-
Если не секрет, расскажите, с какими "аналогами" Вы сравнивали этот метод.
-
Я тоже поставлю IE в конец списка: 1. CANVAS 2. SVG 3. VML
-
guvatara, может быть что-то, вроде такой функции Вам нужно: /** * @alias contentSize. * @return {Array} Returns full width and height of the document. */ function contentSize() { var body = document.compatMode && document.compatMode == 'CSS1Compat' ? document.documentElement : document.body; var width = Math.max(body.scrollWidth, body.offsetWidth); var height = Math.max(body.scrollHeight, body.offsetHeight); return [width, height]; };
-
Обсуждение js-фреймворков (jQuery, Mootools, Prototype, Dojo и другие)
AKS replied to Maslakoff's question in JavaScript
Мне недавно удалось пообщаться с человеком, который, как он сам признал, "выучил javascript через Dojo". Так вот все бы ничего, но теперь и он взялся писать библиотеку. Глядя на "это", сразу понимаешь, каково это - "юзать (библиотеки) как некую кладезь знаний". Да-а-а, такого не добиться без помощи фреймворка! ))))))))) Как-то не "вяжется" с этой репликой: -
Обсуждение js-фреймворков (jQuery, Mootools, Prototype, Dojo и другие)
AKS replied to Maslakoff's question in JavaScript
Как Вам вот такой "шедевральный" фрагментик: Object.extend(String.prototype.escapeHTML, { div: document.createElement('div'), text: document.createTextNode('') }); with (String.prototype.escapeHTML) div.appendChild(text); ? -
Обсуждение js-фреймворков (jQuery, Mootools, Prototype, Dojo и другие)
AKS replied to Maslakoff's question in JavaScript
s0rr0w С возвращением что-ли?! WingedFox Работали с prototype.js? Ничего себе - какой Вы непредсказуемый! Это, наверно, руководство наказывало Вас таким образом, заставляя с этим работать... -
Да нет, в них тоже возникают "непредвиденные" Вами ситуации. Вообще это ведь можно сделать проще. В ссылку вставить элементы , в которых будут квадратные скобки. В стилях указать: a span { visibility:hidden; } a:hover span { visibility:visible; } Для IE добавить обработку событий onmouseenter/onmouseleave...
-
"Читабильным"? Понятней, чем код из первого сообщения? Да-а-а...
-
Вот пример: var А = [1, 2, 3, 4, 5]; function F(a) { window.status = a[0]; if (a.length > 1) { window.setTimeout(function () { F(a.slice(1)); }, 3000); }; }; F(А); Вам нужно переделать: 1. в массиве А вместо цифр разместить адреса; 2. вместо window.status написать window.location.href.
-
Functions:arguments
-
Jenek Во втором варианте не то (моя вина)... Если совпадения не будет, то будет возвращаться истина тогда, когда не надо...
-
Jenek Может тогда вынуть из href ту часть, которая должна быть именем хоста? function isLinkExternal(link) { link = link.match(/^https?://(?:www.)?([^:/]+)/); return !(link || [])[0].match(window.location.hostname); }; Опять не то написал, исправляюсь. Надо не match использовать, просто сравнить строки (надеюсь, что так): link = link.match(/^https?://(?:www.)?([^:/]+)/); if (!link) { return false; }; return !(link[1] == window.location.hostname.replace(/^www/, '')); Исправил еще раз (как плохо, когда не на чем проверить )...
-
Минуточку, разве совпадет? alert('http://vasya.narod.ru'.match('http://narod.ru')); Метод match ведь получает не просто 'narod.ru', а window.location.hostname. Разве в hostname не будет протокола?
-
Хорошо. Значит достаточно проверить наличие протокола: /^(https?|ftp)/i. Так ведь? Зачем нужны несколько реплейсов - ведь нужно лишь совпадение?
-
Я представляю, что это такое, но я бы не хотел браться за выбор символа - ограничителя строки. Предложил ?, но возможно это не то, что нужно... Тут регвыры не нужны. Как я уже написал, Вам нужно выбрать лишь символ-ограничитель для передачи его аргументом в метод replace...
-
Я тоже сомневаюсь, т.к. в том случае, когда ссылки будут добавляться динамически, они останутся не "обработанными". В тэге допустимы многие другие тэги, не только (, например). Поэтому условие: if ((target.nodeName == 'IMG') && (typeof target.parentNode != null) && (target.parentNode.nodeName == 'A')) также не решает проблему вложенных тэгов. Может подойти такой вариант: while (target) { if (target.href) { break; }; target = target.parentNode; }; if (!target || !isLinkExternal(target.href)) { return false; };
-
Поэкспериментируйте. Можно ведь "оторвать" кусок href до интересующего Вас символа. В данном случае будет так: function isLinkExternal(link) { return !link.replace(/?.*$/, '').match(window.location.hostname); } Я не знаком с упомянутой Вами ранее спецификацией rfc1738, поэтому решайте сами, какой символ в href нужно выбрать для конца строки, в которой будет осуществляться поиск...
-
function isLinkExternal(link) { return !link.match(window.location.hostname); }
-
offsetHeight, clientHeight, pixelHeight - не работают в Firefox
AKS replied to Anderson's question in JavaScript
document.getElementById('EmptyDiv').style.height = h - 400 + 'px'; -
Вот к примеру такой фрагмент вашего выражения: /[http://w{3}|w{3}]/ с чем должен совпасть? С такой строкой: http://www , или с такой: h{t3w}t|p:/:/ , или вообще без разницы, с чем совпадет, лишь бы совпало хоть с чем-то?
-
Ну и как "ведется" - удачно? Первое, что бросается в глаза - Вы в символьном классе ([]) разместили выражения...
-
Попросить-то можно. Вот только "конечного релиза" нет, т.к. (отвечая сразу на второй вопрос) эти реквыры слишком просты для того, чтобы осуществить требуемый Вами разбор строки: Так что дальнейшая разработка - Ваша прерогатива.