我试图在单击时更改div的位置,然后在再次单击时恢复到其原始位置。我一生无法解决问题所在。

$("#bottom").click(function() {

  var $about = $('#bottom'),
  top = $about.css('top') === '50%' ? '90%' : '50%';

$about.stop().animate({top: top}, 500);
});

我的CSS是:
#bottom {
top: 90%;
left: 0; right: 0;
height: 100%;
}

当我单击#bottom时,div将其自身定位为50%,但是当我再次单击它时,则什么也没有发生。

最佳答案

.css('top')没有给您文字CSS的top声明;它为您提供了顶部的计算像素量。如果您的#bottom容器的高度为100px,那么$('#bottom').css('top')将为您提供90px,而不是90%

Here's a fiddle with a solution for you.

关于javascript - 简单的三元运算不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36672047/

10-16 19:19