读书人

jquery 的自定义动画,遇到的一个小疑点

发布时间: 2013-04-22 16:01:35 作者: rapoo

jquery 的自定义动画,遇到的一个小问题
先贴源码:拷贝为html就可查看效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<style type="text/css">
div
{
width: 100px;
height: 200px;
}
.div1
{
background-color: Red;
}
.div2
{
background-color: blue;
}
</style>
<script type="text/javascript">
var startAnimal = function () {
try {

var _slideFun = [

function () { $(".div1").fadeOut(2000, cb); },
function () { $(".div1").fadeIn(2000, cb); },

function () { $(".div2").slideUp(2000, cb); },
function () { $(".div2").slideDown(2000, cb); }
];

$('body').queue('_slideFun', _slideFun);

var cb = function () {
$('body').dequeue('_slideFun');
};

cb();
}
catch (e) {
alert(e.message);
}


};

</script>
</head>
<body>
<input type='button' value='start' onclick='startAnimal();' />
<div class='div1'>
div1</div>
<div class='div2'>
div2</div>
</body>
</html>


想实现的功能是:
div1的动画执行完毕后,延迟个2秒钟,然后在继续执行div2的动画.
因此将_slideFun 数组修改为这样:
  var _slideFun = [

function () { $(".div1").fadeOut(2000, cb); },
function () { $(".div1").fadeIn(2000, cb); },
function () { this.delay(2000, cb); },
function () { $(".div2").slideUp(2000, cb); },
function () { $(".div2").slideDown(2000, cb); }
];

但是,没有达到应有的效果.
求问,是否我写错了?请指教 jQuery 动画 JavaScript
[解决办法]
没人回答,我自己回答了,不然分数浪费了使用settimeout就可以了

读书人网 >C#

热点推荐