Я прочитал много сообщений на эту тему, но ни один из них не подходит для моей проблемы.При действии onclick над тегом img я хочу, чтобы произошло несколько вещей:
- изображение должно измениться (+ на - или наоборот);
- установить для этого значениеimg tag;
- переписать действие onclick, чтобы указать на другую функцию в будущем.
- скрыть (или показать) div (включая содержимое курса.
Thisработает безупречно в Safari (при использовании Mac), но приложение, которое я пишу (и буду использовать это меню), будет в основном использоваться в IE. Ну, угадайте, что это не работает в IE.
Я построил 2 функции, некоторые CSS и HTML-код. Вот некоторые фрагменты:
JavaScript:
function changeDaSign(menuNumber) {
if (menuNumber=='menu1') {
document.getElementById("submenu1_sign").setAttribute("src","images/minus.gif");
document.getElementById("submenu1_sign").setAttribute("alt","-");
document.getElementById("submenu1_sign").setAttribute("onclick","changeDaSignBack('menu1')");
document.getElementById("submenu1").setAttribute("class","submenu");
}
function changeDaSignBack(menuNumber) {
if (menuNumber=='menu1') {
document.getElementById("submenu1_sign").setAttribute("src","images/plus.gif");
document.getElementById("submenu1_sign").setAttribute("alt","+");
document.getElementById("submenu1_sign").setAttribute("onclick","changeDaSign('menu1')");
document.getElementById("submenu1").setAttribute("class","hidden");
}
CSS:
.hidden {
display: none;
color:#444;
}
ul.menu {
margin-left:5px;
color: #C00;
list-style-type: none;
}
ul.submenu {
margin-left: 10px;
color: #C90;
list-style-type: none;
}
a.tobemade {
font-style:normal;
text-decoration: none;
color: #C00;
}
div.submenu {
border: #00F thin solid"
}
HTML:
<ul class="menu">
<li>
<img id="submenu1_sign" src="images/plus.gif" alt="+" onclick="changeDaSign('menu1')"; return false; />
<a href="#" class="tobemade" onclick="nav_other_div_to_other_content(arg_meegeven)"; return false;>Menu Item 1</a>
<div class="hidden" id="submenu1">
<ul class="submenu" id="submenu1">
<li>
<a href="#" class="tobemade" onclick="nav_other_div_to_other_content(arg_meegeven)"; return false;> submenu item 11 </a>
</li>
<li>
<a href="#" class="tobemade" onclick="nav_other_div_to_other_content(arg_meegeven)"; return false;> submenu item 12 </a>
</li>
</ul>
</div>
</li></ul>
Предложения, чтобы это работало как в IE, так и в Safari, пожалуйста, а также пластическая операция на коде.