if (Netscape) {
// Взято с htmlbook.ru. Не работает.
// И вариант в блоке else также не работает в Netscape.
document.layers["lay1"].left = newLeft;
document.layers["lay1"].top = newTop;
}
else {
document.all["lay1"].style.left = newLeft;
document.all["lay1"].style.top = newTop;
// Взято из головы (своей, больной). Не работает нигде.
document.all["lay1"].style.width = newWidth;
document.all["lay1"].style.height = newHeight;
}
Подскажите плиз URL нормального справочного ресурса по JS и стилям HTML. Все, что мне удалось найти через yandex, слив. Даже иерархия объектов толком не описана, не говоря уж о стилях.
Здравствуйте, Аноним, Вы писали:
А>Доброе время суток!
А>Подскажите пожалуйста, где я не прав.
А>
А>if (Netscape) {
А> // Взято с htmlbook.ru. Не работает.
А> // И вариант в блоке else также не работает в Netscape.
А> document.layers["lay1"].left = newLeft;
А> document.layers["lay1"].top = newTop;
// попробуй так
obj = document.getElementByID ("lay1");
obj.style.left = newLeft;
obj.style.top = newTop;
А>}
А>else {
// Это для IE
А> document.all["lay1"].style.left = newLeft;
А> document.all["lay1"].style.top = newTop;
А> // Взято из головы (своей, больной). Не работает нигде.
А> document.all["lay1"].style.width = newWidth;
А> document.all["lay1"].style.height = newHeight;
А>}
А>
А>Подскажите плиз URL нормального справочного ресурса по JS и стилям HTML. Все, что мне удалось найти через yandex, слив. Даже иерархия объектов толком не описана, не говоря уж о стилях.
Где не помню, в инете с полгода назад по JS pdf клевые валялись (английские правда).
По CSS самое нормальное описание в MSDN .
Там же и по JS есть кое-что.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, uzzy, Вы писали:
U>> // попробуй так U>> obj = document.getElementByID ("lay1"); U>> obj.style.left = newLeft; U>> obj.style.top = newTop;
А>Не помогло.
М-да. И не поможет особенно если имеется в виду 4-е Netscape'ы. getElementByID есть только начиная с 6-го, а коллекции document.all отродясь там не было.
В общем, если интересует дока по 4-му Netscape'у, могу на мыло или какой-нить частный ftp положить. Лучше второй вариант
Re[4]: Хелп! Netscape + JS + layers
От:
Аноним
Дата:
02.03.03 14:16
Оценка:
Здравствуйте, Bob Kotl, Вы писали:
BK>Здравствуйте, Аноним, Вы писали:
А>>Здравствуйте, uzzy, Вы писали:
U>>> // попробуй так U>>> obj = document.getElementByID ("lay1"); U>>> obj.style.left = newLeft; U>>> obj.style.top = newTop;
А>>Не помогло. BK>М-да. И не поможет особенно если имеется в виду 4-е Netscape'ы. getElementByID есть только начиная с 6-го, а коллекции document.all отродясь там не было. BK>В общем, если интересует дока по 4-му Netscape'у, могу на мыло или какой-нить частный ftp положить. Лучше второй вариант
Спасибо, не надо. У меня седьмой (последний слитый с netscape.com — 7.02), в котором navigator.appVersion.substring(0,1) возвращает 5. Только что догадался слить доки по JS оттуда же , теперь сижу читаю. Если чего найду, поделюсь.
А чтобы до этого дойти, была использована следующая функция, уже успел забыть с какого сайта стащил:
function getObjectPropertiesString(obj) {
var result = "";
for (var i in obj)
result += i + " = " + obj[i] + "<br>";
return result;
}
...
document.write(getObjectPropertiesString(obj));
// Netscape возвращает: style = [object CSSStyleDeclaration]
// IE возвращает: style = [object]
document.write(getObjectPropertiesString(obj.style));
// свойства left, top присутствуют и у IE, и у Netscape
Всем спасибо за участие!
P.S. Остался вопрос с динамическим изменением размеров области. С помощью описанной выше функции обнаружил в obj.style несколько полей, и ни одно не работает (IE, Netscape даже не пробовал):
Похоже, это вообще невозможно Может, кто знает какое колдовство? Кстати, вот цитата из доков от Netscape: "Qnce layout has occurred, setting a property value does not affect its value or appearance." Может тут все дело? Тогда имеется ли возможноть программно заставить его сделать re-layout?
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Вы будете смеяться, но сработало:
Ха-ха-ха
ДГ>P.S. Остался вопрос с динамическим изменением размеров области. С помощью описанной выше функции обнаружил в obj.style несколько полей, и ни одно не работает (IE, Netscape даже не пробовал):
Какой области, если можно поконкретней.
Здравствуйте, uzzy, Вы писали:
ДГ>>P.S. Остался вопрос с динамическим изменением размеров области. С помощью описанной выше функции обнаружил в obj.style несколько полей, и ни одно не работает (IE, Netscape даже не пробовал): U>Какой области, если можно поконкретней.
U>а так посмотри код: U>
проблема скорей всего под Нетскейпом
указывай top, left, height, width в px
var top = 100;
var left = 100;
...
divViewObj.style.top = top + "px";
divViewObj.style.left = left + "px";
divViewObj.style.height = height + "px";
divViewObj.style.width = width + "px";
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Здравствуйте, uzzy, Вы писали:
ДГ>>>P.S. Остался вопрос с динамическим изменением размеров области. С помощью описанной выше функции обнаружил в obj.style несколько полей, и ни одно не работает (IE, Netscape даже не пробовал): U>>Какой области, если можно поконкретней.
U>>а так посмотри код: U>>
Во-первых все параметры тегов лучше заключать в ковычки (это я про id),
Во-вторых в style первого div-а
не height=100
а height:100
Полагаю это всего лишь опечатка, но все-таки
В-третьих: "px", как говорил andik не обязателен, тот код который я предоставил с сайта который вполне работает и оттестирован на IE 5.0 , Mozila (одна из последних версий). И вопрос что, именно тебе нада? Resize-ить div или img?
Здравствуйте, uzzy, Вы писали:
U>В-третьих: "px", как говорил andik не обязателен, тот код который я предоставил с сайта который вполне работает и оттестирован на IE 5.0 , Mozila (одна из последних версий). И вопрос что, именно тебе нада? Resize-ить div или img?
Ресайзить надо div. И ты прав — все работает. А в какой момент заработало и почему — не понял. Скорее всего, где-то в выражениях у меня были строки вместо чисел. Прошу прощения, что напрягал по такому пустяку. Большое спасибо за помощь!
Здравствуйте, Дм.Григорьев, Вы писали:
ДГ>Ресайзить надо div. И ты прав — все работает. А в какой момент заработало и почему — не понял. Скорее всего, где-то в выражениях у меня были строки вместо чисел. Прошу прощения, что напрягал по такому пустяку. Большое спасибо за помощь!
Вы прощены ... я честно говоря над тем кодом тоже долгое время сидел и-за одной опечатки... с кем не бывает . Удачи.