2012-12-16 18 views
3

之间切换,基本上我想用一个按钮,将一个div使用CSS z-index,然后再按下按钮时,我希望它恢复到原来的状态前。使用按钮两种状态

这是我到目前为止的代码,它会很乐意改变它的第一次,但它不会恢复它。

function thumbnail(){ 
    if (document.getElementById("div").style.zIndex= -3){ 
     document.getElementById("div").style.zIndex= -2; 
    } 

    if (document.getElementById("div").style.zIndex= -2){ 
     document.getElementById("div").style.zIndex= -3; 
    }  
} 
+6

使用'='的任务,''==比较 – onon15

+4

你的第二个'if'需要被'else',而不是!否则,两个块总是按顺序执行。一旦第一个改变为'-2',第二个将立即改变回'-3'。 –

+0

什么@ onon15指的是具体是这样的:如果'(... zIndex的== -3){... zIndex的= -2; }'注意'if()'条件中的'=='。 –

回答

4
function thumbnail(){ 
    var depth = document.getElementById("div").style.zIndex; 
    document.getElementById("div").style.zIndex = (depth == -3)? -2 : -3; 
} 
0

这稍微更有效的版本,避免遍历DOM不止一次:

function thumbnail() { 
    var elStyle = document.getElementById ("div").style; 
    elStyle.zIndex = elStyle.zIndex == -3 ? -2 : -3; 
} 

使用div作为ID可能被证明是混乱的,当你回到这个代码后,使用标识div功能的名称。