div コンテンツをアニメーション化するプログラムを作成しました。これは、マウスの位置に応じて機能しています。イベントmousemove
時に、マウスの位置がウィンドウの高さの 1/3 を超えると、コンテンツが上向きにアニメーション化されます (コンテンツが表示されます)。そうしないと、下側にアニメーション化されます (消えます)。プログラムは適切な結果を出していますが、時間がかかります。animate 関数が複数回呼び出されていると思います。
コードを改善するにはどうすればよいですか?
コードを確認してください:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var ww;
var wh;
var moverHeight="150";
var moveRespondPosition;
$(document).ready(function()
{
ww=$(window).width();
wh=$(window).height();
$("#mover")
.css("height",moverHeight)
.css("bottom",-moverHeight);
moveRespondPosition=wh-(wh/3);
$(document).mousemove(function(e)
{
var mousePosition=e.pageY;
if(mousePosition>moveRespondPosition)
{
setTimeout('animateElem(0)',100);
}
else
{
setTimeout('animateElem(-moverHeight)',100);
}
});
});
function animateElem(value)
{
$("#mover").animate
({
"bottom":value
});
}
</script>
<style type="text/css">
*
{
padding: 0px;
margin: 0px;
}
body
{
overflow-y: hidden;
}
#wraper
{
width: 100%;
height: 100%;
position: relative;
}
#mover
{
width: 100%;
background-color: #192B44;
position: absolute;
}
</style>
</head>
<body>
<div id="wraper">
<div id="mover">
Content
</div>
</div>
</body>
</html>