Правильный 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 |
попробуйте так
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]; } |
<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, вроде не новичек, а ключевое слово var потерял. А идея правильная
|
<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'; } } :write: |
Цитата:
|
Часовой пояс GMT +3, время: 18:00. |