Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Mozilla: динамическая смена значения display

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вобщем всем привет. Написал вот функцию:

Код:
<script language="JavaScript" type="text/javascript">
<!--
      var code = false;
      var form = false;
      function showCode (){
            if (form){
                  document.all.submitform.style.display = 'none';
                  form = false;
            }
            if (code){
                  document.all.forumcode.style.display = 'none';
                  code = false;
            } else {
                  document.all.forumcode.style.display = 'inline';
                  code = true;
            }
      }
      function showForm (){
            if (code){
                  document.all.forumcode.style.display = 'none';
                  code = false;
            }
            if (form){
                  document.all.submitform.style.display = 'none';
                  form = false;
            } else {
                  document.all.submitform.style.display = 'inline';
            form = true;
            }
      }
//-->
</script>

а потом делаю

Код:
<a href="javascript:showCode()">

но почему-то в мозилле не работает в опере - да, ослике тоже.
 
в работе можно посмотреть тут, только внимание, запостите какойнибудь код и нажмите подсветить чтоб работали эти кнопки, а то на главной странице и показывать-то нечего...
 
помогите плиз, уже намучался. пробывал вставлять в функцию alert('ok'); так он тоже в мозилле не алертит . че делать?

----------
Hello world!





Уточнил название. — Svarga.

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 14:29 26-10-2003 | Исправлено: xntx, 17:53 28-10-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xntx

Цитата:
в работе можно посмотреть тут,
http://forum.ru-board.com/http.//php.xntx.net  


 
xntx

Цитата:
 document.all

-- выдумка майкрософта (ввиду популярности которой начала она поддерживаться в 7-й Опере), юзай getElementById()

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 01:12 27-10-2003
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Svarga

Цитата:
Уточнил название. — Svarga.  


Цитата:
http://forum.ru-board.com/http.//php.xntx.net    

мог бы уже и линк отредактировать
 
а по теме. сейчас попробую...
 
Добавлено
PS: ничего
делаю:

Код:
var submitform = document.getElementById('submitform');
а потом:

Код:
submitform.style.display = 'none';

и IE начинает кричать (мозилла не кричит, но и ничего не делает)
Error on page->Details: Object Required
вобщем ничего не понимаю...

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 17:28 27-10-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xntx

Цитата:
делаю:  
 
Код:
var submitform = document.getElementById('submitform');  
а потом:  
 
Код:
submitform.style.display = 'none';

а есть ли у submitform ID="submitform"? Или пытаешься по getElementById name выловить?
 
Давай недостающий HTML-код.
 
<!-- offtopic

Цитата:
мог бы уже и линк отредактировать  

Ага... всё брошу и начну ссылки в постах исправлять, знаки препинания расставлять и стиль речи постов править... щас.
-->

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 13:10 28-10-2003
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Svarga

Код:
<div class="notvisible" id="forumcode"></div>
<div class="notvisible" id="submitform"></div>

вот код... все есть... да и с document.all ведь работает...
 
Svarga

Цитата:
Ага... всё брошу и начну ссылки в постах исправлять, знаки препинания расставлять и стиль речи постов править... щас

канечна дарагой
 
PS: диалог какойто, что, кроме нас никто не занимается JS или никто не знает?

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 17:07 28-10-2003
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xntx
дошло

Код:
<div class="notvisible" id="submitform">text</div>
 
<script>
var submitform = document.getElementById('submitform');
submitform.style.display = 'none';
alert(submitform.style.display)
</script>

 
Всё прекрасно работает, только похоже, что у тебя скрипт пытается исполниться до того, как загрузился div -- скрипт поставь или на событие или в коде после div'а.
 
Кстати, а почему ...style.display = 'none', а не ...style.visibility = 'hidden'? )
 
<!-- offtop

Цитата:
PS: диалог какойто, что, кроме нас никто не занимается JS или никто не знает?

Кто тебе сказал, что не знают? Есть просто у многих такая штука — нехватка времени, у меня, кстати, последнее время вообще завал...
Давай, короче, с флеймом завязывать... ) И просьба не обвинять всех в незнании чего-то, иначе могут потом не ответить тебе даже когда будет возможность...

-->

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 23:11 28-10-2003
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Svarga

Цитата:
Всё прекрасно работает, только похоже, что у тебя скрипт пытается исполниться до того, как загрузился div -- скрипт поставь или на событие или в коде после div'а.  

может быть, сейчас глянем.

Цитата:
Кстати, а почему ...style.display = 'none', а не ...style.visibility = 'hidden'?  

дело в том, что когда ставишь visibility: hidden; то (по крайней мере в IE6) остается пусто место там где будет появлятся этот элемент - при display такого эффекта не замечено.
ЗЫ: у меня тож со временем завал... но находицца...
ЗЫЫ: просто странно, не один оффтопер не запостил здесь...
ЗЫЫЫ: лано, с флеймом закончили.


----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 23:22 28-10-2003
2m2



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблемма такая же, только в том что выше я несовсем понял ее решение
Мозила не отображает при нажатии на "<h2...>xxx</h2>" менюшку из (<ul>...</ul>)
 
Как исправить?

Код:
<SCRIPT LANGUAGE="JScript">
    function doit1() {
    if (i1.style.display=="none")
    {
    i1.style.display="";
    }
    else
    {
    i1.style.display='none';
    }
    }
    </SCRIPT>
<ul>
<li>
<h2 style="cursor:hand" onclick="doit1()">xxx</h2>
<ul id=i1 style="display:none">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</li>
</ul>
 


Всего записей: 149 | Зарегистр. 09-12-2006 | Отправлено: 19:39 15-03-2009 | Исправлено: 2m2, 19:44 15-03-2009
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
if (i1.style...

у вас i1 всегда будет null, для получения объекта по его id есть метод getElementById

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 20:22 15-03-2009
2m2



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробовал следующее.  
Работатет, но в Mozille при наведении на XXX курсор становится не как при наведении на ссылку. Это можно исправить?

Код:
 
<script>
function collapsElement(id) {
    if ( document.getElementById(id).style.display != "none" ) {
        document.getElementById(id).style.display = 'none';
    }
    else {
        document.getElementById(id).style.display = '';
    }
}
</script>
<ul>
<li>
<h2 align="center" style="cursor:hand" onclick="javascript:collapsElement('div11')" onfocus="this.blur()"> XXX </A>
</h2>
<ul style="display:none" id="div11">
<li><a>1</a></li>
<li><a>2</a></li>
<li><a>3</a></li>
<li><a>4</a></li>
<li><a>5</a></li>
</ul>
</li>
</ul>
 

Всего записей: 149 | Зарегистр. 09-12-2006 | Отправлено: 21:57 15-03-2009 | Исправлено: 2m2, 22:04 15-03-2009
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
cursor:hand

заменить на cursor:pointer

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 22:18 15-03-2009
2m2



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо огромное.
И последний вопрос, есть ли вариант чтобы выпадающие строки выпадали плавно, а не резко?

Всего записей: 149 | Зарегистр. 09-12-2006 | Отправлено: 23:07 15-03-2009
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
меняйте в цикле (или по таймеру) style.height от 0 до нужной вам высоты

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 11:05 16-03-2009
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript: Mozilla: динамическая смена значения display


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru