Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не срабатывает style.visibility, Или просто опечатался? 
:(
    Опции темы
Budy
Дата 31.1.2005, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



:Приветствую
Вот опять проблема с кодом в JavaScript, не работает visibility:
Код

function onMoveme(lis) {
tink[lis].visibility="hidden";
}


ЗЫ.Если так писать (см. ниже), то срабатывает на отлично:
Код

function onMoveme(lis) {
tink[lis].style.pixelTop=500;
}

Подскажите в чем проблема


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Се ля ви
Дата 31.1.2005, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Лучше используй display = "none";
visibility - действительно часто глючит...


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Budy
Дата 31.1.2005, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Угу. А как показать?


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Се ля ви
Дата 31.1.2005, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Смотря что - если элеммент уровня блока (т.е. div или form) - тогда display = "block";
если это - текстовый элемент (span, i, b, u, и т.д.) - тогда display = "inline";
если элемент списка - тогда display = "list-item";
если какой-то элемент таблицы - там их уже много разных, читай мануал... smile


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Sardar
Дата 31.1.2005, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Откуда берутся tink? Не согласен с Се ля ви, у меня visibility никогда не глючило. Только в Опере(в виду её глючности) отрисовывалось на половину, но это правится особой вёрсткой, спрашивать у dm9 smile

Скидывай код с вёрсткой. Сдаётся мне что в tink лежат не стили, а элементы, тогда ты забыл style как в коде ниже smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Се ля ви
Дата 31.1.2005, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Sardar
Просто у меня пару раз было такое, что visibility не пахало - скорее всего действительно можно было бы разобраться, но разбираться было лень и жаль времяни, поскольку речь шла всёравно о слоях с абсолютным позиционированием - и различия между visibility и display роли не играли - а display меня не подводил никогда :-)

В целом создалось впечатление, что visibility более привиредливый, что ли...
Добавлено @ 21:41
Цитата(Sardar @ 31.1.2005, 21:15)
Только в Опере(в виду её глючности) отрисовывалось на половину, но это правится особой вёрсткой, спрашивать у dm9

Надо будет спросить :-)
Но вообще у Оперы со слоями, если они сталкиваются с таблицами - засада полная, мне кажется оттого, что таблицы в оной реализованы на низ ком уровне на самом деле через слои...
Добавлено @ 21:43
Цитата(Sardar @ 31.1.2005, 21:15)
Скидывай код с вёрсткой. Сдаётся мне что в tink лежат не стили, а элементы, тогда ты забыл style как в коде ниже

Присоединяюсь - давайте уж разберёмся в проблеме по совести :-)


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Sardar
Дата 31.1.2005, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата
В целом создалось впечатление, что visibility более привиредливый, что ли...

Не совсем, он логически создан что бы скрывать элементы, display задаёт контейнер элемента, скрытие есть одна из опций. В Опере версий 6 по моему display работать не будет, хотя не уверен.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Budy
Дата 1.2.2005, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Мой tink так описан:
Код

<DIV id=tink style="position: absolute; visible: show; left: 100; top: 100; bgcolor: #123456; width: 5; height: 5"></DIV>

Просто в определенное время надо скрыть и в другое время показать.
На самом деле делал летающую за курсором точку, с координатами нормально, но вот с появлением/скрытием.....
Счас поробую diplsy ;)


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Budy
Дата 1.2.2005, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Вот, я вот тут нахимичил:
Код

for (i=0;i<10;i++) {
document.write('<DIV id=tink style="visibility: show; position: absolute; left: 100; top: 100; bgcolor=#123456; width: 5; height: 5;"></DIV>');}
...
document.write('<Table border=1><TR><TD onMousemove="onMoveme()">Probe
mousemove</TD></TR></Table>');
...
function onMoveme() {
tink.visibility="hidden";
}
...
function onMoveme() {
for (i=0;i<10;i++) {tink[i].visibility="hidden";)
}

ЗЫ.А какая разница между етими двумя функциями в данном примере? Я конечно обе сразу не писал smile


--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Се ля ви
Дата 1.2.2005, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Найди пять отличий smile :
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<div id="tink" style="position: absolute; visibility: visible; left: 100px; top: 100px; background-color: #123456; width: 50px; height: 50px;"></div>
<br /><br /><br />

<form>
<input type="button" onclick="document.getElementById('tink').style.visibility = 'hidden';" value="Скрыть слой!" /><br />
<input type="button" onclick="document.getElementById('tink').style.visibility = 'visible';" value="Показать слой..." />
</form>

</body>
</html>


Правильные ответы:
style="position: absolute; visible: show; left: 100; top: 100; bgcolor: #123456; width: 5; height: 5"

P.S. А вообще, качество кода низковатое, видно уже по одной строчке - не берусь указывать, а просто советую - придерживайся нотации XHTML - всё будет намного логичнее, понятнее и ошибки находить заметно проще...

P.P.S. Sardar, мне кажется, надо будет на форуме открыть тему по искусству написания хорошего понятного HTML и JavaScript кода и может быть даже её закрепить... Как считаешь?


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
S.A.P.
Дата 1.2.2005, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 8
Всего: 71



Цитата
Лучше используй display = "none";


Цитата(Budy @ 31.1.2005, 19:30)
Угу. А как показать?

Код

display = ""


PM MAIL   Вверх
Се ля ви
Дата 1.2.2005, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Исправляю твой код:
Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<style type="text/css">
<!--/*[CDATA[*/

   div.tink {  visibility: visible;
               position: absolute;
               left: 100px;
               background-color: #123456;
               width: 50px;
               height: 50px; }

/*]]*/-->
</style>

</head>

<body>

<!--div id="tink" style="position: absolute; visibility: visible; left: 100px; top: 100px; background-color: #123456; width: 50px; height: 50px;"></div>
<br /><br /><br /-->

<script language="javascript1.2" type="text/javascript">
<!--[CDATA[

// У тебя тут несколько раз пишется элемент с ИДЕНТИФИКАТОРОМ одним и тем же - если надо применить один стиль к нескольким элементам - применяй класс, а если их необходимо идентифицировать - счётчик, как здесь:
for (i=0; i<10; i++)
   document.write( '<div id="tink' + i +
                   '" class="tink" style="top: ' + i * 100 + 'px;"></div>');
   // Всё-таки для подобных добавлений рекомендую пользоваться DOM-методами, они намного правильнее, логичнее и совместимее, но, для сельской местности, как говорится, сойдёт и это...
   // И, кстати, какой смысл делать несколько слоёв, расположенных друг над другом? Я расположил каждый с отступом на 50px
   // Что бы сэкономить код, вынес стили в стилевой класс, кроме позиции по вертикали...
//...
document.write('<table border="1"><tbody><tr><td onmousemove="onMoveme2();">Probe mousemove</td></tr></tbody></table>');
// Сдесь подправил под XHTML и вставил тег tbody - для наглядности и универсальности DOM-методов при обходе

//...
function onMoveme() { document.getElementById('tink1').style.visibility="hidden"; } // Здесь, надеюсь, уже понятно...

//...
function onMoveme2() { for (i=0; i < 10; i++) eval("document.getElementById('tink" + i + "').style.visibility= 'hidden'"); } // Ну или используй для перебора, опять же, DOM-методы - они правильнее и лучше...
//
//]]-->
</script>

<form>
   <input type="button" onclick="document.getElementById('tink1').style.visibility = 'hidden';" value="Скрыть слой!" /><br />
   <input type="button" onclick="document.getElementById('tink1').style.visibility = 'visible';" value="Показать слой..." />
</form>

</body>
</html>


И всё работает :-)
Спрашивай, если чего-то непонятно :-)

P.S. Sardar, Таб`ы приходится вручную на пробелы менять - надоедает, а иначе код нечитабельный... Там ничего с этим сделать нельзя?.. smile А то всёравно я в Dreamweawer`е набираю...
P.P.S. Да и мне кажется, пора задумываться над вложенной подсветкой - что бы, например, внутни подсветки html распознавался тег "script", атрибуты событий и выражения в ссылках вроде <a href="javascript:[code=javascript]">как начало применения уже JavaScript`овой подсветки, и то же с тегом и одноимённым атрибутом "style"...

Это сообщение отредактировал(а) Се ля ви - 1.2.2005, 13:06


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Budy
Дата 1.2.2005, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 616
Регистрация: 6.2.2004
Где: Екатеринбург

Репутация: нет
Всего: 2



Се ля ви, тебе спасибо. Я посмотрел твой код. у меня style не хватало. А если ты не понял, то я еще новичок в JS, даже недели еще нету smile




--------------------
Как ты назовешь свой корабль, так на нем и напишут
user posted image
PM MAIL WWW ICQ   Вверх
Sardar
Дата 1.2.2005, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Се ля ви стиль написания когда привить сложно... smile
На счёт подсветки ты прав, я бился над этой проблемой, поборол табы и тупо автопределение языка. Только на форуме соит подсветка sergej.z, надо к нему обращатся.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Се ля ви
Дата 1.2.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 5
Всего: 127



Budy
Желаю успехов! :-)

Sardar
тогда с ним надо будет обговорить, действительно...
Добавлено @ 17:57
А про стиль кода надо будет всё-таки что-то написать... Хотя бы самые общие вещи...


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1708 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.