Проблем с JavaScript i <LI> ?!?!!??!
1 отговора
56 прегледа
Проблем с JavaScript i <LI> ?!?!!??!
Много странно.....
една съвсем елементарна функция , един UL lлист и един UL подлист.
function showhide(LName) {
if (document.getElementById(LName).style.display == "none") {
document.getElementById(LName).style.display = "block";
} else {
document.getElementById(LName).style.display = "none";
}
}
<UL>
<LI OnClick="showhide('1{$node}')>
<UL>
<LI OnClick="showhide('1{$node}')">
</LI>
<LI OnClick="showhide('13{$node}')">
<LI OnClick="showhide('14{$node}')">
</UL>
</LI>
</UL>
проблемът е, че когато отворя 1{$node} и вътре кликна на 12{$node}, функцията се изпълнява за втория и след това и за първия елемент - отваря 12{$node} и затваря родителя 1{$node}. А за 14{$node} изобщо не ще да работи. Има ли някакви особености с листите при такава ситуация или да търся другаде проблема..?
една съвсем елементарна функция , един UL lлист и един UL подлист.
function showhide(LName) {
if (document.getElementById(LName).style.display == "none") {
document.getElementById(LName).style.display = "block";
} else {
document.getElementById(LName).style.display = "none";
}
}
<UL>
<LI OnClick="showhide('1{$node}')>
<UL>
<LI OnClick="showhide('1{$node}')">
</LI>
<LI OnClick="showhide('13{$node}')">
<LI OnClick="showhide('14{$node}')">
</UL>
</LI>
</UL>
проблемът е, че когато отворя 1{$node} и вътре кликна на 12{$node}, функцията се изпълнява за втория и след това и за първия елемент - отваря 12{$node} и затваря родителя 1{$node}. А за 14{$node} изобщо не ще да работи. Има ли някакви особености с листите при такава ситуация или да търся другаде проблема..?
Re: Проблем с JavaScript i <LI> ?!?!!??!
Нещо такова...
Така, както си го написал, се активира и onclick на листа, съдържащ item-а върху който цъкаш и нещата се омазват.
<html>
<head>
<title>Page</title>
</head>
<script type="text/javascript">
function ToggleDisplay(id)
{
var o = document.getElementById(id);
o.style.display = "none" == o.style.display ? "" : "none";
}
</script>
<body>
<ul>
<li>Item 1</li>
<li><a href="javascript: ToggleDisplay('list');">[+/-] Item 2</a>
<ul id="list">
<li>Item 2.1</li>
<li>Item 2.2</li>
</ul>
</li>
</ul>
</body>
</html>
Така, както си го написал, се активира и onclick на листа, съдържащ item-а върху който цъкаш и нещата се омазват.