Jump to content

AKS

User
  • Posts

    297
  • Joined

  • Last visited

Everything posted by AKS

  1. Вот, написал упрощенный примерчик. Мне кажется, что получилось наглядно (для удобства - документ целиком): <?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>
  2. AKS

    class color

    Если не секрет, расскажите, с какими "аналогами" Вы сравнивали этот метод.
  3. Я тоже поставлю IE в конец списка: 1. CANVAS 2. SVG 3. VML
  4. 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]; };
  5. Мне недавно удалось пообщаться с человеком, который, как он сам признал, "выучил javascript через Dojo". Так вот все бы ничего, но теперь и он взялся писать библиотеку. Глядя на "это", сразу понимаешь, каково это - "юзать (библиотеки) как некую кладезь знаний". Да-а-а, такого не добиться без помощи фреймворка! ))))))))) Как-то не "вяжется" с этой репликой:
  6. Как Вам вот такой "шедевральный" фрагментик: Object.extend(String.prototype.escapeHTML, { div: document.createElement('div'), text: document.createTextNode('') }); with (String.prototype.escapeHTML) div.appendChild(text); ?
  7. s0rr0w С возвращением что-ли?! WingedFox Работали с prototype.js? Ничего себе - какой Вы непредсказуемый! Это, наверно, руководство наказывало Вас таким образом, заставляя с этим работать...
  8. Да нет, в них тоже возникают "непредвиденные" Вами ситуации. Вообще это ведь можно сделать проще. В ссылку вставить элементы , в которых будут квадратные скобки. В стилях указать: a span { visibility:hidden; } a:hover span { visibility:visible; } Для IE добавить обработку событий onmouseenter/onmouseleave...
  9. "Читабильным"? Понятней, чем код из первого сообщения? Да-а-а...
  10. Вот пример: 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.
  11. Jenek Во втором варианте не то (моя вина)... Если совпадения не будет, то будет возвращаться истина тогда, когда не надо...
  12. 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/, '')); Исправил еще раз (как плохо, когда не на чем проверить )...
  13. Минуточку, разве совпадет? alert('http://vasya.narod.ru'.match('http://narod.ru')); Метод match ведь получает не просто 'narod.ru', а window.location.hostname. Разве в hostname не будет протокола?
  14. Хорошо. Значит достаточно проверить наличие протокола: /^(https?|ftp)/i. Так ведь? Зачем нужны несколько реплейсов - ведь нужно лишь совпадение?
  15. Я представляю, что это такое, но я бы не хотел браться за выбор символа - ограничителя строки. Предложил ?, но возможно это не то, что нужно... Тут регвыры не нужны. Как я уже написал, Вам нужно выбрать лишь символ-ограничитель для передачи его аргументом в метод replace...
  16. Я тоже сомневаюсь, т.к. в том случае, когда ссылки будут добавляться динамически, они останутся не "обработанными". В тэге допустимы многие другие тэги, не только (, например). Поэтому условие: 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; };
  17. Поэкспериментируйте. Можно ведь "оторвать" кусок href до интересующего Вас символа. В данном случае будет так: function isLinkExternal(link) { return !link.replace(/?.*$/, '').match(window.location.hostname); } Я не знаком с упомянутой Вами ранее спецификацией rfc1738, поэтому решайте сами, какой символ в href нужно выбрать для конца строки, в которой будет осуществляться поиск...
  18. function isLinkExternal(link) { return !link.match(window.location.hostname); }
  19. document.getElementById('EmptyDiv').style.height = h - 400 + 'px';
  20. Вот к примеру такой фрагмент вашего выражения: /[http://w{3}|w{3}]/ с чем должен совпасть? С такой строкой: http://www , или с такой: h{t3w}t|p:/:/ , или вообще без разницы, с чем совпадет, лишь бы совпало хоть с чем-то?
  21. Ну и как "ведется" - удачно? Первое, что бросается в глаза - Вы в символьном классе ([]) разместили выражения...
  22. Попросить-то можно. Вот только "конечного релиза" нет, т.к. (отвечая сразу на второй вопрос) эти реквыры слишком просты для того, чтобы осуществить требуемый Вами разбор строки: Так что дальнейшая разработка - Ваша прерогатива.
×
×
  • 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