2012-12-18 51 views
0

我正在制作新页面和移动版本我要制作导航切换以隐藏和显示导航。Javascript onclick链接文本更改

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"; 

更改文本“导航Einblenden文“当按下时链接,但这不起作用...有人有想法吗?

+3

你不针对锚,您所指定的包装div元素,有效地消除了锚,当您更改HTML。 – adeneo

回答

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>

+0

你需要点击它。 – closure

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"; 
     } 
} 

这会为你工作作为其工作FO

+0

谢谢你们很多人终于这是工作=) – user1897333

+1

没问题,留在快乐的编码..... –