Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Функция toogle (https://javascript.ru/forum/misc/5589-funkciya-toogle.html)

Hag1989 25.10.2009 13:17

Функция toogle
 
Помогите пожалуйста отредактировать функцию toogle (отвечающую за отображение скрытого элемента) так, чтобы при повторном клике на область, вызывающую эту функцию, элемент со свойством Hide не скрывался опять.

Заранее благодарен за помощь!

вот сам код:
<html>
    <head>
<script type="text/javascript">
function toogle(id) {
    var item;
    if (item = document.getElementById(id)) {
        item.style.display = item.style.display == 'none' ? '' : 'none';
    }
    return false;
}
</script>

<style type="text/css">
    .link {background: #999999 }
    .hoverlink {background: red;}
	#sublink { padding: 50px; background: #999999;}
</style>
    </head>

    <body>
    <FORM NAME="data" ACTION="" METHOD="POST">
<table border="1">
<tr>
<td class="link" onMouseOver="this.className='hoverlink';" onMouseOut="this.className='link';"><input type="radio" name="имя_переменной" value="начальное_значение">
 признак1
</td>
</tr>
<td class="link" onMouseOver="this.className='hoverlink';" onMouseOut="this.className='link';"><input type="radio" name="имя_переменной" value="начальное_значение">
 признак2
</td>
</tr>
<tr>
    <td class="link" onMouseOver="this.className='hoverlink';" onMouseOut="this.className='link';" onClick="toogle('sublink');"><input type="radio" name="имя_переменной" value="начальное_значение">
группа признаков</td>
</tr><tr>
    <td id="sublink" style="display:none;"><input type="radio" name="имя_переменной" value="начальное_значение">
Скрытая руппа</td>
</tr><tr>
    <td width="200" height="50">Еще одна строка</td>
</tr></table>
</FORM>
    </body>
</html>

ArtEthics 02.08.2011 11:14

Можно так
function getElementComputedStyle(elem, prop){
if(typeof elem!="object")elem=document.getElementById(elem);if(document.defaultView&&document.defaultView.getComputedStyle){if(prop.match(/[A-Z]/))prop=prop.replace(/([A-Z])/g,"-$1").toLowerCase();return document.defaultView.getComputedStyle(elem,"").getPropertyValue(prop)}if(elem.currentStyle){var i;while((i=prop.indexOf("-"))!=-1)prop=prop.substr(0,i)+prop.substr(i+1,1).toUpperCase()+prop.substr(i+2);return elem.currentStyle[prop]}return"";
}
function toogle(id) {
  var item,
  disp = getElementComputedStyle(id, 'display');
  if (item = document.getElementById(id)) {
    item.style.display = (disp == 'none') ? 'block' : 'none';
  }
  return false;
}

monolithed 02.08.2011 18:47

ArtEthics,
что это неотформатированный копипаст? ;)

Hag1989,
используйте event.target


Часовой пояс GMT +3, время: 03:10.