jQueryオブジェクトの animate メソッドで、カスタムアニメーションを行うことができる。
jQueryObject.animate(object)
jQueryObject.animate(object, speed)
jQueryObject.animate(object, speed, handler)
{
property
:
value
[,
property
:
value
...]}
の形式で指定する。
必須の引数であり、省略できない。
function(){
code
}
の形式で指定する。
<style>
#notification {
display: none;
height: 51px;
left: 0;
margin: 0;
padding: 0;
position: fixed;
top: 0;
width: 100%;
z-index: 10000;
border-bottom: 1px solid;
color: #806359;
border-color: #f5d0c4;
background-color: #fff4f0;
}
#notification > p {
position: relative;
font-weight: bold;
margin: 0 auto;
padding: 13px 10px 13px 30px;
width: 900px;
}
</style>
<button onclick="myAlert();">アニメーション開始</button>
<script>
function myAlert() {
var d = document.createElement('div');
d.id = 'notification';
var p = document.createElement('p');
p.innerHTML = 'Hello, world!';
d.appendChild(p);
document.body.appendChild(d);
var e = $(d);
var h = e.height();
e.css({
top : '-' + h + 'px'
}).show().animate({
top : 0
});
setTimeout(function() {
e.animate({
top : '-' + h
});
setTimeout(function() {
e.remove();
}, 200);
}, 2000);
}
</script>