Jump to content

Great Rash

Expert
  • Posts

    7,974
  • Joined

  • Last visited

  • Days Won

    144

Everything posted by Great Rash

  1. Что-то типа того: <!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>template</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> html, body { height: 100%; margin: 0; padding: 0; border: 0; } .container { position: relative; min-height: 100%; background: red; } .head, .foot { height: 100px; background: #69c; } .foot { position: absolute; left: 0; right: 0; bottom: 0; } .gray { position: absolute; right: 20px; top: 50px; bottom: 50px; width: 300px; background: gray; opacity: .7; -moz-opacity: .7; filter: alpha(opacity=70); } </style> <!--[if lte IE 6]> <style type="text/css"> .container { height: 100%; } </style> <![endif]--> </head> <body> <div id="c" class="container"> <div class="head"></div> text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text <br /> text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> text<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> <div class="foot"></div> <div id="g" class="gray"></div> </div> <!--[if lte IE 6]> <script type="text/javascript"> function normalize() { var c = document.getElementById('c'); var g = document.getElementById('g'); g.style.height = c.offsetHeight - 100px; // 50 * 2 g.style.top = 50 + 'px'; } normalize(); window.onresize = function() { normalize(); } </script> <![endif]--> </body> </html>
  2. Таблицы обычно таблицами делают...
  3. Что-то я не догнал, чем это отличается от вот такой записи: n.onclick = function() { alert(this); }
  4. Как? Можно небольшой примерчик? UPD: Разобрался с проблемой ИЕ. Оказывается я в другом скрипте создавал внутри элемента <div>, т.е. мне было необходимо скриптом обернуть дивом содержимое некоего контейнера и я писал так: див.innerHTML = некийКонтейнер.innerHTML; некийКонтейнер.innerHTML = ''; некийКонтейнер.appendChild(див); И при этом терялся этот слушатель. Почему так произошло? В чем моя ошибка?
  5. em - emphasis (ударение, акцент) Собственно из перевода ясно зачем этот тег нужен.
  6. А я бы предложил использовать для этих целей <em>. И семантика сохранится, и тег короче, и используется редко кем, так что подозреваю что он у вас свободен и стиль типа div em { white-space: nowrap; } не порушит ничего.
  7. Собссно эт я и хочу сделать. Но ИЕ (гад!) палки в колеса вставляет. И вообще где бы почитать про реализацию эвентов в ИЕ и браузерах?
  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>template</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> div { display: none; width: 100px; height: 100px; background: red; } </style> <script type="text/javascript"> function toggleElemVisibility(elem, control) { elem = typeof elem == 'string' ? document.getElementById(elem) : elem; control = typeof control == 'string' ? document.getElementById(control) : control; addListener(control, 'click', function(e) { e = e || window.event; var target = e.target || e.srcElement; if (!elem.style.display || elem.style.display == 'none') { elem.style.display = 'block'; } else { elem.style.display = 'none'; } if (e.stopPropagation) { e.stopPropagation(); } else { e.cancelBubble = true; } }); addListener(document.body, 'click', function(e) { e = e || window.event; var target = e.target || e.srcElement; while (target && target.tagName.toLowerCase() != 'body') { if (target == elem) { return; } target = target.parentNode; } elem.style.display = 'none'; }); } function addListener(elem, ev, fn) { if (document.addEventListener) { // Gecko elem.addEventListener(ev, fn, false); } else if (document.attachEvent) { // IE elem.attachEvent('on' + ev, fn); } else { // Other (KHTML for example) elem['on' + ev] = fn; } } function removeListener(elem, ev, fn) { if (document.addEventListener) { // Gecko elem.removeEventListener(ev, fn, false); } else if (document.attachEvent) { // IE elem.detachEvent('on' + ev, fn); } else { // Other (KHTML for example) elem['on' + ev] = null; } } </script> </head> <body> <b id="b">тыкни в меня</b> <div id="d"></div> <script type="text/javascript"> toggleElemVisibility('d', 'b'); </script> </body> </html> Проверять надо в ИЕ7. О, только сейчас заметил, сто надо сделать один в один как тут на форуме кнопка "Редакт." (когда всплывает менюшка "полное редактирование" и "быстрое редактирование").
  9. HTML показать не могу, разве что тестовую страницу состряпать. В общем у меня задача написать универсальную функцию которая будет показывать/прятать некий блок данных (elem) на странице по клику на кнопку (control), а если я тыкну не по кнопке, а по любому другому месту на странице, то блок должен прятаться. Ща сварганю тестовую страницу. Сайт упал... Вот: <!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>template</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <style type="text/css"> .check-menu { display: none; position: absolute; z-index: 99999; width: 200px; padding: 2px; list-style: none; border: #81a1cc 1px solid; background: #f3f3f3; } .check-menu li { padding: 5px; font-size: 11px; } .check-menu li:hover { padding: 4px; font-weight: bold; border: #dea300 1px solid; background: #fee093; } </style> <script type="text/javascript"> function toggleElemVisibility(elem, control) { elem = typeof elem == 'string' ? document.getElementById(elem) : elem; control = typeof control == 'string' ? document.getElementById(control) : control; addListener(document.body, 'click', function(e) { e = e || window.event; var target = e.target || e.srcElement; if (target == control) { if (!elem.style.display || elem.style.display == 'none') { elem.style.display = 'block'; } else { elem.style.display = 'none'; } } else { while (target && target.tagName.toLowerCase() != 'body') { if (target == elem) { return; } target = target.parentNode; } elem.style.display = 'none'; } }); } function addListener(elem, ev, fn) { if (document.addEventListener) { // Gecko elem.addEventListener(ev, fn, false); } else if (document.attachEvent) { // IE elem.attachEvent('on' + ev, fn); } else { // Other elem['on' + ev] = fn; } } </script> </head> <body> <img id="toggleImg" src="img/ico/ico-down-arrow.gif" /> <ul id="hiddenList" class="check-menu"> <li onclick="someFunc();">Пометить все записи</li> <li onclick="someFunc();">Снять выделение</li> </ul> <script type="text/javascript"> toggleElemVisibility('hiddenList', 'toggleImg'); </script> </body> </html>
  10. Несколько раз перечитал сообщение номер 4. Что-то я себе слабо представляю как это должно выглядеть. Плюс у меня нет никаких пождсказок. Должен всплывать любой контейнер id которого я передам в функцию. Мозг уже кипит, может я чего не так объясняю?
  11. Хочется сделать одну функцию, а не 2.
  12. Я только за HTML, CSS и JS прошу 35 - 40 тысяч. А уж PHP за 12 это бред... хотя может и найдется идиот какой-нить или маньяк которому помимо основной работы еще и этим захочется заниматься. "Отличное знание php5, Smarty, JavaScript , MySQL" и "без опыта работы" - вы как себе это представляете?
  13. Код: function test(elem, control) { elem = typeof elem == 'string' ? document.getElementById(elem) : elem; control = typeof control == 'string' ? document.getElementById(control) : control; addListener(document.body, 'click', function(e) { e = e || window.event; var target = e.target || e.srcElement; alert(target == control); // в ИЕ все время "false", в Мозилле два алерта сначала "false" потом "true" }); } Помогите понять, что я делаю не так?
  14. Надеюсь, что никак
  15. Мне надо навешивать события не на все ячейки разом, а лишь на некоторые. Причем события должны сниматься и убираться в зависимости от содержимого ячейки и ширины окна. Т.е. если текст умещается в ячейку, то подсказки быть не должно, а если не умещается, то должна быть подсказка. Потом внутри ячейки могут быть еще элементы, а именно дивы или элементы формы. Хотя ваша мысль довольно интересна, надо будет попробовать применить.
  16. Мне необходимо чтобы над определенными ячейками всплывала подсказка, в которой содержится инфа из этой ячейки. От такой вот изврат. Знаете как это реализовать по другому?
  17. тож поржал. Хотя ищущий человек это прекрасно!
  18. language="JavaScript" уберите - совершенно ненужный атрибут
  19. Я в ИЕ6 тестирую под виртуалкой. Правда у меня и так винда, но на ней стоит восьмерка и чтобы посмотреть на шестерку приходится запускать виртуальную машину.
  20. Всем здрасте! Обхожу таблицу скриптом и на каждую ячейку нужно навесить слушатель, а точнее 3 слушателя, но это не важно. Пишу: function addListener(ev, elem, foo) { if (document.addEventListener) { elem.addEventListener(ev, foo, false); } else if (document.attachEvent) { elem.attachEvent('on' + ev, foo); } else { elem['on' + ev] = foo; } } function testAlert(elem) { alert(elem.nodeName); // IE говорит undefined } function test(t) { var table = typrof t == 'string' ? document.getElementById(t) : t; var trs = t.rows; for (var i = 0; i < trs.length; i++) { var tds = trs[i].cells; for (var j = 0; j < tds.length; j++) { addListener('mouseover', tds[j], function() { testAlert(tds[j]); // так не пашет. почему??? //testAlert(this); // так работает в Мозилле }); } } } Как в цикле листенер повесить не пойму? P.S. Нужно сделать именно через листенер т.к. я не знаю существуют ли уже на данной ячейке события onclick, mouseover, mouseout и т.п. И мне необходимо их не перезаписать, а добавить к уже существующему событию еще одно. Может быть это еще как-нить можно сделать?
  21. Вообще надо писать не <script language=JavaScript>, а <script type="text/javascript">. Вы забыли заковычить аттрибут у тега + написали не тот атрибут. Закрывающий тег написан капсом. Все печально, не удивительно, что нифига не работает. <a href="java script: ..." - капец...
  22. "Подробнее и пример" писать влом. Читайте про setTimeout и window.close();
  23. На Java такое сделать без проблем. Но вы же имели в виду JavaScript? Копать в сторону AJAX.
×
×
  • 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