2011-12-15 10 views
0

コンテンツに応じて高さが変化するdivがあります。 Div要素は画面の下部にありますが、ユーザーがボタンをクリックすると、div要素がdivの高さに正確に表示されます。たとえば、divの高さが200ピクセルの場合は200ピクセル上に移動し、divの高さが400ピクセルの場合は400ピクセル上に移動します。 divの高さを取得してdiv要素を持ち上げることはできますが、画面外に戻すことはできません。私のコードは次のとおりです:javascriptとcss3のトランジションを使用して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> 

同じボタンをクリックしてボックスを持ち上げて置くこともできます。だから、二つの溶液を必要と:)

答えて

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)'); 
} 
+0

はあなたにたくさんありがとうございました!完璧に動作します! – nqw1

関連する問題