Форум » Помощь по коду » Скрипт: Исправление тега more » Ответить

Скрипт: Исправление тега more

Zenitchik: Скрипт пердназначен для корекции поведения скрытого текста. В результате его работы каждый блок скрытого текста получает способность открываться и закрываться независимо от других, а ссылка "скрытый текст" получает оформление, стаднартное для ссылок (подчеркивание становистя необязательным). Кроме того устраняется побочное действие в виде появления пустого места внизу страницы. Скрипт состоит из двух частей: 1. Часть: [pre] <script type="text/javascript"> function bbcodeReplaceMore(){ /* Процедура исправления тега more */ var a=document.getElementsByTagName('a'); var b,s,p,div,pdiv,na; for(var j=0;j<a.length;j++){ if(a[j].innerHTML.toLowerCase()=='<u>'+l[121].toLowerCase()+'</u>'){ if(a[j].nextSibling.tagName=='BR' && a[j].nextSibling.nextSibling.tagName=='TABLE'){ p=a[j].parentNode; b=a[j].nextSibling.nextSibling.childNodes[0].childNodes[0].childNodes[0]; if(b.firstChild.tagName=='BR')b.removeChild(b.firstChild); if(b.lastChild.tagName=='BR')b.removeChild(b.lastChild); na=document.createElement('a'); na.href="#"; na.innerHTML=l[121]; na.onclick=function(){ var div=this.nextSibling; if(div.style.display==""){ div.style.display="none"; }else{ div.style.display=""; } return false; }; na.className='tagmore'; div=document.createElement('div'); div.style.display='none'; div.innerHTML=b.innerHTML; div.className='tagmore'; pdiv=document.createElement('div'); pdiv.appendChild(na); pdiv.appendChild(div); p.insertBefore(pdiv,a[j]); p.removeChild(pdiv.nextSibling); p.removeChild(pdiv.nextSibling); p.removeChild(pdiv.nextSibling); } } } } </script> [/pre] Вставляется в HTML-верх до тега </head> 2. Часть: а) для форумов: [pre2] <script type="text/javascript"> if(work=='1')bbcodeReplaceMore(); </script>[/pre2] б) для гостевых <script type="text/javascript"> if(work=='0')bbcodeReplaceMore(); </script>[/pre2] Вставляется в HTML-низ, перед тегом </body>. 3. Управляющие стили Для ссылки A.tagmore:link{text-decoration:underline;} A.tagmore:visited{text-decoration:underline;} A.tagmore:hover{text-decoration:underline;} Для самого текста div.tagmore{...} Пример работы: [more]Скрытый текст1[/more] [more]Скрытый текст2[/more] [more]Скрытый текст3[/more]

Ответов - 47, стр: 1 2 All

Zenitchik: Сначала попробуйте то, что я написал в конец стиля добавить. Может, по идее браузер должен понимать, что последняя строка главнее первой.

Prongs: Zenitchik, спасибо. Сработало.

CharlieCarbon: http://wiedzminrpg.forum24.ru/?1-2-0-00000001-000-0-0 Знаки: Посмотреть один тэг прячет под себя другой. Как исправить лаг? ===Добавлено через 10 минут=== А теперь два последних открываются вместе...


mikesoup: А можно чуть поподробнее... Я вот поставил коды вверх и вниз как было рекомендовано. А как нужно правильно оформить ссылку и скрытый текст в самом сообщении ???

Zenitchik: mikesoup Как обычно.

mikesoup: как обычно не получается. Я сделал примерно так - в статье форума написал: Тематический план курса Введение в 3D Вводит 3D понятия для тех, кто незнаком с художественной формой: модели, текстуры, освещение, камеры и анимация, а также их отношение к примерам в реальной жизни. Интерфейс Blender Знакомство и ориентация в окнах и экранах интерфейса Blender. Навигация в 3D виде, в том числе различные методы визуализации. Поиск команд, предметов и информации в панели инструментов, заголовках и меню. Изменение рабочего интерфейса путем разделения, перемещения и соединения окон, а также изменение типов окон. Использование браузера файлов и различных экранов. Что еще надо добавить чтобы описание курса скрывалось под линком тематические планы ??

mikesoup: вопрос снят - разобрался



полная версия страницы