Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Общие вопросы

Изменение ширины слоя

> Привет!
>
> Пришлось повторить топик, т.к. в предыдущем мы забрались в дебри которые уже не совсем соотв. решаемой задаче.
> Проблема в том, что таблица не обязательно может быть одна. Их может быть сколько угодно, поэтому и создается <DIV> который их ограничивает.
>
> Таблицы имеют ширину 100% а вот <DIV> который их ограничивает не может быть меньше 800 и больше 1024, даже если пользователь имеет окно куда большего размера.
>
> Вот ссылка на файл, который прекрасно работает в ИЕ, но игнорируется в коммуникаторе и НН7
>
> Вопрос почему и где я допустил ошибку?
> Помоему я неправильно обращаюсь к свойствам layer для НН и НК, но вродебы все как по книге.
>
> Вот ссылка и спасибо всем кто поможет решить проблему.
>
> http://tiger.cfpc.ca/_cfpcnew/_design/screen.asp


Итак, проблема в NC4.79, NN7 решена.
В NN4.79 решена методом "костылей и палок" (меньше <DIV> не становится потому что ему не дает 800х1 картинка) а больше потому что в style явно прописана ширина.
В NN7 и IE все делает JavaScript.

Осталась OPERA 6.03, которая ни в какую не хочет понимать DOM совместимый код.

Итак привожу 2 кода:

1. Таблица внутри ограничителя:

<div id="VirtualBorder" style="width:980px">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr><td><img src="_images/spacer1x1.gif" width="800" height="1"></td></tr>
<tr>
<td bgcolor="#0066CC" height="20">&nbsp;</td>
</tr>
</table>
</div>

2. JavaScript:

<script language="JavaScript">
<!--
function resize_Table() {
newWidth=getWindowWidth();

if (newWidth>1024) {
if(isMSIE) {document.all.VirtualBorder.style.width=980}
if(isMozilla) {document.getElementById("VirtualBorder").style.width="980px"}
....if(isOpera) {document.getElementById("VirtualBorder").style.pixelWidth="400px"}
}
if (newWidth<800) {
if(isMSIE) {document.all.VirtualBorder.style.width=760;}
if(isMozilla) {document.getElementById("VirtualBorder").style.width="760px";}
....if(isOpera) {document.getElementById("VirtualBorder").style.pixelWidth="400px"}
}
if ((newWidth>800)&&(newWidth<1024)) {
if(isMSIE) {document.all.VirtualBorder.style.width=newWidth-40;}
if(isMozilla) {document.getElementById("VirtualBorder").style.width=newWidth-40+"px";}
....if(isOpera) {document.getElementById("VirtualBorder").style.pixelWidth="400px"}
}
}
//-->
</script>

Вопрос собственно: А почему Opera 6.03 не выполняет изменение стилей, игнорируя предназначенный ей код?
СообщениеАвторДата
Sad03.06.2002 17:43
Sad03.06.2002 19:42
Sad03.06.2002 19:45
Sad03.06.2002 21:46
Sad04.06.2002 22:29
Gilmour05.06.2002 06:40
Sad05.06.2002 17:12
Maniac05.06.2002 15:05
Sad05.06.2002 17:13
Maniac05.06.2002 15:06