シンプルなスライドアップアニメーションです。問題は、myDiv クラスの "top" パラメータを変更すると、アニメーションが正しく動作せず、上にスライドするのではなく、上から下にスライドすることです。ボタンを初めてクリックしたときにのみ、正しく機能しません。myDiv の top パラメータをより大きな数値に変更すると、問題はなくなります。コードの何が問題なのかを見つけるのを手伝ってくれませんか。
<style>
.box {
position:relative;
width: 200px;
height: 500px;
}
.myDiv {
position: absolute;
width:100%;
overflow: hidden;
bottom:0px;
top:10px;
left:500;
}
</style>
<script>
var swt = 0;
$(document).ready(function () {
$(".b1").click(function () {
var div = $(".myDiv");
if (swt == 0) {
div.animate({
top: '300px',
opacity: '1'
}, "slow");
// div.animate({height:'300px', opacity:'1'},"slow");
swt++;
} else {
div.animate({
top: '500px',
opacity: '1'
}, "slow");
// div.animate({height:'0px', opacity:'1'},"slow");
swt--;
}
});
});
</script>
</head>
<body>
<button class="b1">Start Animation</button>
<p>posds</p>
<div class="box">
<div class="myDiv" style="background:#7549B1; width:200px;"></div>
</div>
</body>
</html>