Jump to content

_EAX_

Newbie
  • Posts

    29
  • Joined

  • Last visited

Everything posted by _EAX_

  1. Это можно устроить с помощью списков и стилевого свойства display. Вложенный список изначально должен иметь свойство display: none; (это применяется для <UL>) а при нажатии на ссылку выше менять его: onclick="document.getElementById('ul_id').style.display=''" ul_id - идентификатор вложенного списка (т.е. <ul id=ul_id>)
  2. to Tokolist Это бы подошло, если б в регвыр у меня был включен глобальный поиск. Но у меня он не включен, т.к. еще нужно и посчитать количество совпадений, и порядковый номер каждого из них поставить вместо найденной подстроки... to Yarik Voronov br = br.concat(result); Аааа, вот в чем дело... Я не присвоил конкатерацию исходному массиву. Вот он мне и выдал undefined, т.к. конкат. сделал в уме и никуда не записал. Спасибо всем за помощь! Теперь работает как надо. ЗЫ - опять на какой-то фигне запоролся
  3. Доброго времени суток!) У меня есть выражение в виде строки. В этом выражении присутствуют скобки. Так вот, мне нужно чтобы содержимое этих скобок (с самими скобками) записалось в массив (br), после чего заменилось в исходной строке на [кое-какую другую строку]. Собственно так оно и происходит, НО... полученный массив содержит не стринги, а объекты! (так br[1].typeof() сказал) Честно говоря я этого не ожидал... Помогите разобраться: почему извлеченные по совпадению с регулярным выражением подстроки имеют такой статус? И как их преобразовать? Весь код своей функции пока не выкладываю, т.к. по-моему этот вопрос возможно решить на уровне теории. На всякий случай вот несколько строк оттуда: var bMask; bMask=/\([^\(\)]*\)/; // это само рег. выражение. ... br.push(bMask.exec(expression)); //найденное совпадение добавляется в массив expression=expression.replace(bMask, str); //оно же заменяется на [b]str[/b] ... expression - это само выражение (строка). Может где-то здесь проблема? ЗЫ - Только недавно науячилсчя пользоваться RegExp... еле разобрался. Может я что-то упустил? upd: Новые подробности: оказывается RegExp.exec(string) возвращает МАССИВ строк... то есть br.push(bMask.exec(expression)); - это я добавляю массив в массив. Мне этого не надо, поэтому я push() заменяю на concat() (два массива объеденить), но это не решило проблемы, ибо он теперь вообще undefined стал Подскажите, пожалуйста, в чем беда? Может было у кого такое...
  4. В настройках браузеров есть список расширений и соответствующих им MIME-типов. Только не думаю, что кто-нибудь это изменяет (если вообще знают об этом) Насчет htaccess - нашел вот это. Должно помочь, но, возможно, потребуется немного разобраться. upd: А, пардон, читать следующую страницу.
  5. Браузер тут точно не без греха. Бывали случаи, когда опера FLV, 3GP, MOV открывала как текст, так как кодеки не находила (а может не из-за этого). Поэтому приходится делать "Сохранить как...". Можно запаковать в архив. Тогда должно скачиваться.
  6. Использую я этот блокнот++. Единственное, что не нравится, это комментарии каким-то нелепым шрифтом выделяются. Но это изменить можно. Так во всем устраивает. Я до него вообще FrontPage использовал Просто там тоже подсветка кода есть и хорошие подсказки по javascript. Я в основном из-за них в нем писал Notepad++ думаю приемлим, если кодить на HTML, JS и CSS. А предложенные выше программы (PHP Designer & PHP Expert) ориентированы на ПХП (мускул) и имеют встроенные отладчики/предпросмотр и т.п. (вобщем, чтоб не нужно было устанавливать сервер вроде Апача). И если пишешь не на них, то это выйгрыша мало дает. Если, конечно, там нет отладчиков/валидаторов по JS, CSS и HTML )))) Могу ошибаться.
  7. В моем примере, фон применяем к class'у. А в диве 'id=content' там только текст и отступы. Я так имел в виду. Да, и минусом еще, наверное, будет то, что если к диву применяется какие-нибудь декоративные границы (там, закругленные углы и т.п.), то сверху они скроются. Хотя может так даже лучше будет
  8. Могу предложить, [div id=content] вложить в еще один [div class=content]. Первый ты растягиваешь на весь экран (position: absolute) и оформляешь как тебе надо, а второму просто придаешь margin-top: 300px и пишешь в нем буквы Предполагается, что верхняя часть растянутого дива спрячется под хедером. Вот пример: <html> <head> <title>HEAD</title> <style> body {margin: 0; padding: 0;} #global { background-color: #DDDDDD; border: 0px solid #998877; height: 100%; width: 100%; } #head { height: 200px; border: 1px solid white; background-color: #333333; color: white; } .content { width: 100%; height: 100%; position: absolute; top: 0; bottom: 0; background-color: #green; border: 2px solid red; color: white; } #content { margin-top: 200px; background-color: darkred; } </style> </head> <body> <div id=global> <div id=head> HEAD >>> </div> <div class=content> <div id=content> CONTENT HERE >>> </div> </div> </div> </body> </html> ЗЫ - а помню можно было как-то по другому еще сделать...
  9. Да, слэш ставить тоже пробовал. Ошибка та же. Главное, если сделать проверку alert('*'); (например), то он выводит эту звезду. Значит он распознает ее как строку, но почему то искать не может... Но с другой стороны, если поставить вместо этих знаков цифру или букву - тогда найдет. Значит проблема в символах.. :/
  10. Привет всем. У меня составлена функция, которая ищет в строке определенные символы, после чего выводит их в отдельную строку (вместе с ними выводит и количество разновидностей этих символов): <html> <head> </head> </body> <form name=enter> <input type=text name=formule onkeyup=checkop();> </form> <span id=opnum></span> <span id=oplist></span> <script language=javascript> function checkop() { var numOps, listOp; numOps=0; listOp=''; op=new Array('*', '+', '>', '_', '!'); for (i=0; i<op.length; i++) { if (document.enter.formule.value.search(op[i])!=-1) { numOps++; listOp=listOp + op[i] + ' '; } } document.getElementById('opnum').innerHTML=numOps; document.getElementById('oplist').innerHTML=listOp; } </script> </body> </html> Проблема в чем: эти символы в строке не ищутся (ошибка "неизвестный числовой показатель"). А мне нужно чтобы искались именно они. Помогите - что нужно изменить, чтоб работало все? Может быть символы по их кодам искать как-то, или еще что?
  11. Кстати, у меня из-за доктайпа таблица не растягивается на 100% по вертикали. Доктип убираю - растягивается; возвращаю - стягивается (типа "входит и выходит" ). Какой доктип может обновременно и меню обеспечить и таблицу растянуть? Я в доктайпах не разбираюсь, если честно :/ Простите за мультипост.
  12. Работает. Оно будет работать во всех експлорерах теперь? Или только в 7?
  13. У меня ИЕ7 установлен, поэтому я не могу знать как это ведет себя в предыдущих версиях. Возможно и работает. Ну да ладно, пусть будет javascript'овая менюха ;-)
  14. Я прописал файл csshover.htc. Ничего не изменилось
  15. И как же мне тогда оптимизировать код? Чтоб работало вс?.
  16. Всем привет :-) Проблема такова: нашел в инете код меню, и его переделал под свои нужды. Меню выпадающее. Но оно почему то не выпадает в IE и Maxthon. Вот код: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <style> /* Горизонтальное меню */ div#menunav { width: 100%; float: left; border-top: 1px solid white; border-bottom: 1px solid #000000; font-size: 11px; background-color: #7777FF; padding: 0 0 0 0; font-family: Verdana; font-weight: bold; color: white; } div#menunav ul { margin: 0px; padding: 0px; } * html div#menunav ul { float: left; border-left: 1px solid #000000; margin-left: 15px; } div#menunav li { float: left; position: relative; list-style-type: none; background-color: #2F2C66; background-image: url(images/bg.gif); border-right: 1px solid #FFFFFF; } div#menunav li:first-child { border-left: 1px solid #000000; } div#menunav a { display: block; text-decoration: none; padding: 5px 15px 5px 15px; color: #FFFFFF; } div#menunav a:hover { color: #FFFFFF; } div#menunav li:hover { text-decoration: underline; } /* Раскрывающееся меню */ div#menunav ul li ul { margin: 0px; position: absolute; left: -1px; width: 20em; } div#menunav ul li ul li { width: 100%; border-left: 1px solid #FFFFFF; border-bottom: 1px solid #FFFFFF; border-right: 1px solid #FFFFFF; } div#menunav ul li ul li:first-child { border-top: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF } body div#menunav ul li ul { display: none; margin-top: 0; margin-bottom: 0; margin-left: 0; margin-right: 0; } div#menunav ul li:hover ul, div#menunav ul li ul:hover { display: block; } * html div#menunav ul li ul { border-top: 1px solid #FFFFFF; border-left: 0рх solid #FFFFFF; } </style> </head> <body> <div id="menunav"> <ul><li><a>меню1</a> <ul> <li><a href="#">подменю1</a></li> <li><a href="#">подменю2</a></li> <li><a href="#">подменю3</a></li> <li><a href="#">подменю4</a></li> <li><a href=#>подменю5</a></li> </ul></li> <li><a>меню2</a> <ul> <li><a href="#">подменю1</a></li> <li><a href="#">подменю2</a></li> <li><a href="#">подменю3</a></li> <li><a href="#">подменю4</a></li> <li><a href="#">подменю5</a></li> <li><a href="#">подменю6</a></li> </ul></li> </ul> </body> </html> И еще интересует вот это: * html div#menunav ul { float: left; border-left: 1px solid #000000; margin-left: 15px; } * html div#menunav ul li ul { border-top: 1px solid #FFFFFF; border-left: 0рх solid #FFFFFF; } Что это? В описании меню было упоминание о том, что в некоторых браузерах могут возникнуть проблемы, но там же оговорено, что это (^) все исправит. (ссылку на сайт с описанием не сохранил...) Этот код правильно воспринимается только оперой да мазилой. Что же в нем не так? Надеюсь на вашу помощь. Заранее спасибо.
  17. Вот теперь все работает нормально. Спасибо!
  18. Вот полный код и попроще: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <style type="text/css"> td.menu { font-family: Tahoma; font-weight: 900; font-size: 12px; padding-left: 20px; padding-right: 5px; color: white; cursor: hand; border: 0; cursor: hand; cursor: pointer; background-image: images/button.gif; width: 150px; margin-top: 7px; background-color: #3B3E82; } td.submenu { font-family: Tahoma; font-weight: bold; font-size: 10px; color: 7070FF; padding-left: 10px; padding-right: 5px; border-left-color: 0000FF; border-right-color: 3030FF; border-bottom-color: 0000FF; border-top-color: 3030FF; background-color: white; cursor: hand; cursor: pointer; width: 150px; } td.subselect { font-family: Tahoma; font-weight: bold; font-size: 10px; color: white; padding-left: 10px; padding-right: 5px; border-left-color: 0000FF; border-right-color: 3030FF; border-bottom-color: 0000FF; border-top-color: 3030FF; background-color: 7070FF; cursor: hand; cursor: pointer; width: 500px; } </style> </head> <body> <table width=300px height=100% class=noborder> <tr height=7><td></td></tr> <tr onclick="viewSubMenu(1);"><td class=menu background=images/button.gif height=23> Меню1</td></tr> <tr id=sub1 style="display:none"><td id=Sub1 class=submenu width=500 onmouseover="this.className='subselect';" onmouseout="this.className='submenu';"> Подменю1</td></tr> <tr id=sub2 style="display:none"><td id=Sub2 class=submenu width=500 onmouseover="this.className='subselect';" onmouseout="this.className='submenu';"> Подменю2</td></tr> <tr onclick="viewSubMenu(2);"><td class=menu background=images/button.gif height=23> Меню1</td></tr> <tr id=sub3 style="display:none"><td id=Sub3 class=submenu width=500 onmouseover="this.className='subselect';" onmouseout="this.className='submenu';"> Подменю3</td></tr> <tr id=sub4 style="display:none"><td id=Sub4 class=submenu width=500 onmouseover="this.className='subselect';" onmouseout="this.className='submenu';"> Подменю4</td></tr> <tr height=100%><td></td></tr> </table> <script language=javascript> function viewSubMenu(n) { if (n==1) { for (i=1; i<=2; i++) { sma=document.getElementById("sub"+i); if (sma.style.display=="none") {sma.style.display="block";} else if (sma.style.display=="block") {sma.style.display="none";}; }} else if (n==2) {for (i=3; i<=4; i++) { smb=document.getElementById("sub"+i); if (smb.style.display=="none") {smb.style.display="block";} else if (smb.style.display=="block") {smb.style.display="none";}; }}} </script> </body> </html> Помогите, плз.
  19. Всем привет :-) Расскажу по порядку: У меня на странице есть меню. Основано оно на том, что при нажатии на заголовок меню, появляются его подменю; примерно так (визуально): -меню1 —подменю1 —подменю2 -меню2 —подменю3 —подменю4 И получается, что при нажатии на "меню1", отображаются ранее скрытые "подменю1" и "подменю2". (style="display:none" --> style="display:block"). При этом, естесственно, что "меню2", находящееся под этим всем делом, сдвигается вниз. Это так и должно быть, но проблема в том, что если "меню1" схлопнуть, то "меню2" не возвращается на свое место, а остается внизу. В случае очередного открытия/схлопывания "меню1" оно сдвигается еще ниже. Этот косяк только в мозиле наблюдается. Эту статью читал, пробовал менять параметр display - не помогло. Незнаете в чем может быть причина?
  20. Все правильно - я же не профессионал. Да и если это так надо, зачем написано в статьях, что закрывающий необязателен? Да. 2strix Спасибо, пропишу на всякий случай оба. Мало ли какой броузер люди используют :-)
  21. Я проверял. Но их же не обязательно закрывать? По крайней мере основные виды браузеров интерпретируют незакрытые теги таблицы правильно. Да и так проще для понимания кода Всем спасибо за помощь. Замена 'hand' на 'pointer' помогла :-)
×
×
  • 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