0

我正在开发一个新页面,对于移动版本,我将进行导航切换以隐藏和显示导航。

HTML 代码:

<div id="toogleNavigation">
    <a onclick="toggle_visibility('nav_header','nav_header_level2');">Navigation Einblenden</a>
</div>

Javascript代码:

function toggle_visibility(id, id2) {
    var e = document.getElementById(id);
    var f = document.getElementById(id2);
    if(e.style.display == 'block' || 
       e.style.display == 'block' && 
       f.style.display == 'block') {
        e.style.display = 'none';
        f.style.display = 'none';
        document.getElementById('toogleNavigation').innerHTML = "Navigation 1einblenden";
    } else {
        e.style.display = 'block';
        f.style.display = 'block';
        document.getElementById('toogleNavigation').innerHTML = "Navigation 2ausblenden";
    }
}

我试过了:

document.getElementById('toogleNavigation').innerHTML = "Navigation 2ausblenden";

按下链接时更改文本“Navigation Einblenden”中的文本,但这不起作用......有人有想法吗?

4

2 回答 2

2

将 id 从 div 移至 a.

看到它在 jsbin http://jsbin.com/eqeheb/5/watch中工作

<div> <a id="toogleNavigation" onclick="toggle_visibility('nav_header','nav_header_level2');">Navigation Einblenden</a> </div>

于 2012-12-18T08:50:20.197 回答
0

像这样进行更改....
HTML 代码

<div id="toogleNavigation">
    <a id="divInner" onclick="toggle_visibility('nav_header','nav_header_level2');">
        Navigation Einblenden
    </a>
</div>

JavaScript 代码

function toggle_visibility(id, id2) {
   var e = document.getElementById(id);
   var f = document.getElementById(id2);
   if(e.style.display == 'block' ||
      ( e.style.display == 'block' &&            
      f.style.display == 'block' ) ) {
        e.style.display = 'none';
        f.style.display = 'none';
        document.getElementById('divInner').innerHTML = "Navigation  1einblenden";
      } 
      else {
        e.style.display = 'block';
        f.style.display = 'block';
        document.getElementById('divInner').innerHTML = "Navigation 2ausblenden";
      }
}

这将为您工作,因为它的工作

于 2012-12-18T08:52:13.627 回答