Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2013, 08:57
Новичок на форуме
Отправить личное сообщение для discognate Посмотреть профиль Найти все сообщения от discognate
 
Регистрация: 08.07.2013
Сообщений: 7

Правильный show/toggle
Приветствую всех форумчан, есть выпадающее меню

http://jsfiddle.net/rqVw6/

В нем баг, работать начинает только на 2 клик, нашел как сделать правильный эффект, однако не получается, прошу помощи у тру кодеров

кривой код
function toggle_show(id) {
        document.getElementById(id).style.display = document.getElementById(id).style.display == 'none' ? 'block' : 'none';

}


http://javascript.ru/ui/show-hide-toggle
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2013, 09:07
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

попробуйте так
function toggle_show(id) {
        document.getElementById(id).style.display = getStyle(document.getElementById(id),'display') != 'none' ? 'none ':'block' ;
}
//-----
function getStyle(element,CSSProperty)
{ return (typeof getComputedStyle == "undefined" ? element.currentStyle : getComputedStyle(element, null))[CSSProperty];
}

Последний раз редактировалось vadim5june, 08.07.2013 в 12:44.
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2013, 09:10
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<input type=button value="Клик" onclick="toggle_show('Clk')"><div id="Clk" style="background:green;width:260px;height:170px;" "></div>
<script>
function toggle_show(id) {
        var el=document.getElementById(id)
el.style.display = el.style.display == 'none' ? 'block' : 'none';

}
</script>

Последний раз редактировалось Deff, 08.07.2013 в 09:33.
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2013, 09:32
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Deff, вроде не новичек, а ключевое слово var потерял. А идея правильная
Ответить с цитированием
  #5 (permalink)  
Старый 08.07.2013, 10:05
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<div class="menuleft">
   <ui>
      <li><a href="#">Заголовок</a></li>
      <li>Меню 1</li>
      <li>Меню 2</li>
      <li>Меню 3</li>
   </ui>
   <ui>
      <li><a href="#">Заголовок 2</a></li>
      <li>Меню 4</li>
      <li>Меню 5</li>
      <li>Меню 6</li>
   </ui>
</div>


document.getElementsByClassName('menuleft')[0].onclick = function()
{
   var e = event || window.event;
   if(e.target.tagName == 'A')
   {
       var li = this.parentNode.parentNode.getElementsByTagName('li');
       for(i=1; i<li.length; i++) li[i].style.display = li[i].style.display ? '' : 'none';
   }
}

Ответить с цитированием
  #6 (permalink)  
Старый 09.07.2013, 21:49
Новичок на форуме
Отправить личное сообщение для discognate Посмотреть профиль Найти все сообщения от discognate
 
Регистрация: 08.07.2013
Сообщений: 7

Сообщение от vadim5june Посмотреть сообщение
попробуйте так
function toggle_show(id) {
        document.getElementById(id).style.display = getStyle(document.getElementById(id),'display') != 'none' ? 'none ':'block' ;
}
//-----
function getStyle(element,CSSProperty)
{ return (typeof getComputedStyle == "undefined" ? element.currentStyle : getComputedStyle(element, null))[CSSProperty];
}
рабочий вариант! спасибо большое!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильный запрос в базу данных. RazZzeR AJAX и COMET 20 10.01.2012 01:16
Решение задачи (теста) или как вычислить правильный ответ? Remarkus Общие вопросы Javascript 0 25.04.2011 10:50
не понимаю как задать правильный контекст loz Dojo toolkit 2 17.02.2011 18:36
правильный путь к атрибуту объекта dschmitz Events/DOM/Window 7 23.03.2010 17:50
Правильный ответ или неправильный Kevrat Ваши сайты и скрипты 7 13.01.2010 21:31