Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: xRUSha от 16 Января 2003, 21:16:46

Название: Как управлять видимостью слоя в NN.
Отправлено: xRUSha от 16 Января 2003, 21:16:46
Нужно добится того, чтобы при наведении на одну область, рядом с ней появлялась картинка
(менюшка типа).  Для IE все замечательно работает через классы CSS меняемые JavaScript\'ом.
А вот для NN не получается.

Есть вот такой вот код:


ccsfsdgj





но слой почему-то вообще скрыватся не хочет.

Пробовал сделать через CSS











В IE - работает, в NN - нет.
Помогите плз. кто чем сможет. Целый день мучаюсь.
Название: Как управлять видимостью слоя в NN.
Отправлено: Metaller от 17 Января 2003, 10:40:02
В нетскейпе для показа слоя - visibility:show
Название: Как управлять видимостью слоя в NN.
Отправлено: xRUSha от 18 Января 2003, 01:10:57
Так я так и прописываю, см. первый пример.
А вот visibility:hide - слой не скрывает.
Название: Как управлять видимостью слоя в NN.
Отправлено: Гость от 18 Января 2003, 14:27:08
Потому что, для скрытия - visibility:hidden.

p.s. Это я - Metaller
Название: Как управлять видимостью слоя в NN.
Отправлено: Макс от 18 Января 2003, 18:37:38
для какого нетскапа?
Для 6 или для 4?
NC4 - "hide","show" (нижним регистром)
NC6 - "hidden","visible" (тоже нижним регистром)
Название: Как управлять видимостью слоя в NN.
Отправлено: Metaller от 20 Января 2003, 10:28:39
Не, погоди. AFAIK, в четвертом нетскейпе именно - "show"/"hidden". По крайней мере у меня так работает все...
Название: Как управлять видимостью слоя в NN.
Отправлено: Макс от 20 Января 2003, 17:00:32
Честно говоря я давно со слоями не работал, а эти данные я их исходников klayers взял

(хотя по моему все-таки hide надо, но проверять мне лень ;))
Название: Как управлять видимостью слоя в NN.
Отправлено: xRUSha от 30 Января 2003, 17:43:23
Я ни это спрашиваю. Где show/hide а где visible/hidden я разберусь. Просто в NN и IE к ним нужно обращатся по разному. А вот как?
И еще вопрос по поводу NN\'вского layer\'а - он вообще хоть где-нить работает???
Название: Как управлять видимостью слоя в NN.
Отправлено: Макс от 30 Января 2003, 18:12:32
Цитировать
layer\'а
в четвертой версии нетскапа
Вообще я рекомендую klayers использовать для этого
Название: Как управлять видимостью слоя в NN.
Отправлено: Гость от 30 Января 2003, 18:25:05
Цитировать
klayers

Это что???
Название: Как управлять видимостью слоя в NN.
Отправлено: Макс от 30 Января 2003, 18:31:22
библиотека для упрощения разработки кроссброузерных слоев (кстати автор - русский). Ссылка в FAQ-е
Название: Как управлять видимостью слоя в NN.
Отправлено: Mog. от 30 Января 2003, 19:56:07
Цитировать
в NN и IE к ним нужно обращатся по разному. А вот как?

из одной умной книжки:
document.all.Layer1.visibility=\'hidden\' - для IE
document.layers.Layer1.visibility=\'hidden\' - для NN4
document.getElementById(\'Layer1\').visibility=\'hidden\' - для NN6

где Layer1 - имя этого слоя
Название: Как управлять видимостью слоя в NN.
Отправлено: Oak от 31 Января 2003, 02:39:48
NN4:

case LAYER_VISIBILITY:
    flags = CL_GetLayerFlags(layer);
    if (flags & CL_HIDDEN)
        visibility = "hide";
    else if (flags & CL_OVERRIDE_INHERIT_VISIBILITY)
        visibility = "show";
    else
        visibility = "inherit";
Название: Как управлять видимостью слоя в NN.
Отправлено: Oak от 31 Января 2003, 02:43:44
Нее - вру, то было наоборот, вот прямой разбор:


        /* Get the VISIBILITY parameter to know if this layer starts hidden. */
        if (param->visibility)
        {
        /* Handle "HIDE", "HIDDEN", etc. */
                hidden = (PRBool)!XP_STRNCASECMP(param->visibility, "hid", 3);
        inherit_visibility = (PRBool)!XP_STRCASECMP(param->visibility, "inherit"
);
        }

и вот

/* Accept "hidden" or "hide" */
hidden = (JSBool)(!XP_STRNCASECMP(visibility, "hid", 3));
inherit = (JSBool)(!XP_STRCASECMP(visibility, "inherit"));

if (!hidden && !inherit &&
    XP_STRCASECMP(visibility, "show") &&
    XP_STRCASECMP(visibility, "visible")) {
    JS_ReportError(cx,
                   "Layer visibility property must be set to "
                   "one of \'hide\', \'show\' or \'inherit\'");


т.е ему пофиг hide или hidden
а на "show" он вообще не смотрит - только на "hid" или "inherit".
Все остальное для него = "show"
Название: Как управлять видимостью слоя в NN.
Отправлено: Mog. от 31 Января 2003, 08:05:32
Oak, это исходники? Ну ты крут!
Название: Как управлять видимостью слоя в NN.
Отправлено: Oak от 31 Января 2003, 16:29:06
Исходники
Название: Как управлять видимостью слоя в NN.
Отправлено: xRUSha от 31 Января 2003, 17:16:08
никто не сомневается в глубине ваших знаний, но ответ на свой вопрос я получил мессаги 3-4 назад