我试图在单击时更改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/