|
|
|
Supreme Being
      
модератор
Last Login: 09.07.2008 2:17
Сообщ.: 1 298,
Visits: 12 500
|
|
Привет всем!
Раз уж зашел разговор о Netscape, кто нибудь знает как получить доступ из JScript к элементу div в Netscape, если определен ID этого элемента? Наример, в IE работает такая вещь как document.all[divID].innerText = "Show me please!" ... НО, насколько я понял, Netscape не признает коллекцию all! Как быть? Уверен, что что-то как-то можно решить эту проблему.
Заранее спасибо!
Владимир
|
|
|
|
|
Junior Member
      
участник
Last Login: 29.11.2000 21:20
Сообщ.: 16,
Visits: 177
|
|
Пример:
<HTML>
<HEAD>
<TITLE>
Div in Netscape Test
</TITLE>
<STYLE>
.layer_0 {
position:relative;
top:0px;
left:0px;
width:200px;
z-index:1;
visibility:visible;
border-width:1;
}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
function MoveRight() {
document.layers["TESTDIV"].left+=10;
}
function MoveLeft() {
document.layers["TESTDIV"].left-=10;
}
function Show() {
document.layers["TESTDIV"].visibility = "visible";
}
function Hide() {
document.layers["TESTDIV"].visibility = "hidden";
}
</SCRIPT>
</HEAD>
<BODY>
<DIV ID="TESTDIV" NAME="TESTDIV" CLASS="layer_0">
This text is the TestDiv content
</DIV>
<A HREF="JavaScript:MoveRight()"> MoveRight </A>
<A HREF="JavaScript:MoveLeft()"> MoveLeft </A>
<A HREF="JavaScript:Hide()"> Hide </A>
<A HREF="JavaScript:Show()"> Show </A>
</BODY>
</HTML>
Идея: document.layers
Насколько я знаю, DIV попадет в document.layers ТОЛЬКО если это позиционированный элемент - т.е. в описании его стиля используется position, top, left и т.п.
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 09.07.2008 2:17
Сообщ.: 1 298,
Visits: 12 500
|
|
Здравствуй, Дмитрий!
Все классно и работает, Вы были правы на счет layers, НО - меня уже задолбал Netscape!!!! :( Вы случайно не знаете как я могу динамически изменять содержание этого слоя? Например, пример ниже не работает так, как я бы хотел :( При повторном нажатии на кнопку Netscape вообще вылетает :(
<body>
<script language="JavaScript">
//changes the currently selected mediaID
function changeLabel(elementLabel, elementEntry)
{
if (document.all)
{
document.all[elementLabel].innerHTML = elementEntry;
} else if (document.layers)
{
document.layers[elementLabel].document.write(elementEntry);
document.layers[elementLabel].document.close();
}
}
//-->
</script>
<form>
<div id="label" style="position:relative;top:0px;left:0px;z-index:1;visibility:visible;"></div>
<input type="button" value="Clickme" name="button1" onclick="changeLabel(''label'', ''<h1>Hello</h1>'')">
</form>
</body>
Был бы очень признателен, если бы Вы посоветовали чего-нибудь.
С уважением, Владимир!
|
|
|
|