Показать сообщение отдельно
  #3 (permalink)  
Старый 01.11.2008, 21:11
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Я всё больше начинаю верить в паранормальное...
<html>
<head>
<style type="text/css">#headingBlock{display:none;}
</style>
<script type="text/javascript">
//Получение дока ифрейма
function getIframeDocument(iframeNode)
{
if (iframeNode.contentDocument) return iframeNode.contentDocument;
if (iframeNode.contentWindow) return iframeNode.contentWindow.document;
return iframeNode.document;
}
//Парсинг данных
function parseData(code)
{
out=new String(code);
Reg=new RegExp('<div>','gi');
out=out.replace(Reg,'<div class="expand">');
Reg=new RegExp('<a','gi');
out=out.replace(Reg,'<a target="content"');
return out;
}
//Когда содержание загрзилось
function  heading_loaded(obj)
{
//Получаем xml-код
xml_code=parseData(getIframeDocument(obj).body.innerHTML);
//Создаём выходной html-код
//И выводим его в блок headingBlock
document.getElementById('headingBlock').innerHTML=xml_code;
//Отображаем таблицу с контентом
document.getElementById('data').style.display='block';
//Скрываем сообщение о загрузке содержания
document.getElementById('headingLoader').style.display='none';
}
//Отображение содержания
function showHeadig(obj)
{
//Подгоняем под него высоту ячейки
obj.height=150;
document.getElementById('headingBlock').style.display='block';
//Изменяем содержимое текста под содержанием.
document.getElementById('sp0').innerText='Чтобы скрыть содержание уведите отсюда мышь';
}
//Скрытие содержания
function hideHeadig(obj)
{
//Уменюшаем высоту ячейки обратно
obj.height=25;document.getElementById('headingBlock').style.display='none';
document.getElementById('sp0').innerText='Для просмотра содержания наведите курсор';
}
</script>
</head>
<body>
<iframe style="display:none" id="heading" name="heading" src="help-data/index.html" onload="heading_loaded(this);" display="none">
<!--
Этот ифрейм (скрытый загружает содержание, а по окончании его загрузки - вызывает heading_loaded, и, следовательно парсинг данных
-->
</iframe>
<!--Таблица с содержимым.
В окончательном варианте этих bgcolor-ов небудет, это отладочные.
-->
<table bgcolor="#ababab" id="data" style="display:none;" id="data" height="100%" width="100%">
<tr>
<td height="25" valign="top" onmouseover="showHeadig(this);" onmouseout="hideHeadig(this);">
 <div id="headingBlock" style="height:125;overflow:auto;">
 <!--
Сюда парсер содержания выкладывает html-код содержания
  -->
 </div>
 <span id="sp0">Для просмотра содержания наведите курсор</span>
</td>
</tr>
<tr>
 <td bgcolor="7777ff">
<!--
Это - ифрейм для загрузки статей. По идее должен разползить на всю ячейку
-->
  <iframe onReadyStateChange="alert('1');" name="content" height="100%" width="100%"></iframe>
 </td>
</tr></table>

<table id="headingLoader" height="100%" width="100%">
<tr><td align="center" valign="center">
<span id="gdfgtdeh">Пожалуйста, активируйте JavaScript</span>
<script language="javascript" type="text/javascript">
document.getElemntById('gdfgtde').innerHTML='Выполняется загрузка содержания... Пожалуйста, подождите<br><img src="ajax-loader.gif">';
</script>

</td></tr>
</table>

</body></html>


Паранормально вот что: (приготовьтесь) : ячейка в таблице, исходя из bgcolor-ов, не расползается на отведённую ей область... Я в шоке...
Ответить с цитированием