我有div的高度根据其内容而变化。 Div元素位于屏幕外部的底部,但是当用户单击按钮时,div元素将恰好达到div的高度。例如,如果div的高度为200像素,则它将向上移动200像素;如果div的高度为400像素,则它将向上移动400像素。我能够获得div的高度并抬起div元素,但我无法将其移回屏幕外。这是我的代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
#button {
height: 100px;
width: 100px;
background: blue;
}
#box {
position: absolute;
top: 100%;
width: 100px;
height: 100px;
background: red;
-webkit-transition: all 1s ease-out;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function moveUp() {
var height = $("#box").height();
$("#box").css('-webkit-transform', 'translate3d(0px,-'+height+'px,0)');
}
function moveDown() {
var height = $("#box").height();
$("#box").css('-webkit-transform', 'translate3d(0px,'+height+'px,0)');
}
</script>
</head>
<body>
<div id="button" onclick="moveUp();"></div>
<div id="box" onclick="moveDown();"></div>
</body>
</html>
我还希望有一个选项,我可以通过点击相同的按钮来抬起并放下盒子。因此,需要两种解决方案:)
答案 0 :(得分:1)
试试这个小提琴:http://jsfiddle.net/W7NDp/2/
脚本:
var visible = false;
function moveUp() {
if(visible)
{
moveDown();
}
else
{
var height = $("#box").height();
$("#box").css('-webkit-transform', 'translate3d(0px,-'+height+'px,0)');
}
visible = !visible;
}
function moveDown() {
var height = $("#box").height();
$("#box").css('-webkit-transform', 'translate3d(0px,0px,0)');
}