2012-06-14 130 views
2
$("#button").click(function(){ 
    if($("#window").css('top') == '0%'){ 
     $("#window").stop().animate({top:'-100%'},1000); 
    } 
    else { 
     $("#window").stop().animate({top:'0%'},1000); 
    } 
}); 

它可以在Chrome和Safari中完美工作,但在Firefox中它可以部分工作。jquery if else not in FF

在FF中,它僅適用於else的情況。標識該位置不是top: '0%'並更改爲top: '0%',但不更改爲top: '-100%'如果是top: '0%'

請建議。

+0

什麼時候你調試/日誌值嗎? –

回答

1

刪除百分比符號和使用top: 0;

+0

Firefox在'top'和其他'位置'函數上返回'px',而不是百分數,我爲akin寫了一些函數http://stackoverflow.com/questions/9320593/jquery-cssleft-reports-px-instead-of/9321104#9321104 – deerua

+0

老兄,謝謝你的觀察。但我需要用百分比來解決它,因爲'#window'div是'height:100%',所以要盲目使用'top:-100%'。你是完全正確的,但我想問題是'-100%',因爲在我所有的嘗試中,div移動到'0%'但從未移動到'-100%' – LGVentura

+0

,但是這隻發生在使用if和其他情況。當我僅用於示例時,它完美地工作:$(「#menuinformacoes」)。toggle(function(){ \t $(「#informacoes」)。animate({top:'0%'},1300); ({#informacoes「)。animate({top:' - 100%'},1300); }); – LGVentura