十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你好!!
站在用户的角度思考问题,与客户深入沟通,找到桥西网站设计与桥西网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖桥西地区。
当以回调的形式应用动画方式时,动画是按照回调顺序发生的。
可以写个函数,来实现这个功能···
$(document).ready(function () {
//obj为执行动画的元素,opt为执行的动画,time为时间
function yourAnimate(obj,opt,time){
obj.animate(opt,time || "normal",function(){
//在动画的回调函数中判断是否存在下一个元素,有则继续执行动画
if(obj.next().length){
yourAnimate(obj.next(),opt,time);
}
});
}
//调用: 只要在img的第一个元素上执行就好了
yourAnimate($("#pic img:eq(0)"), {left:'-400px'}, 3000);
});
上面的方法,可以实现你想要的顺序执行动画的功能,但是没有考虑,当元素中的动画有不同变化的情况(可以自己扩展一下)。
最后说一下,例子中的动画顺序执行是在一个元素上编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。
希望对你有帮助!!
jQuery中(function(){})()执行顺序:先计算第一个小括号,发现里面的表达式是一个函数,返会该匿名函数的引用(指针),最后一个括号则是建立匿名函数的实参和并执行。
示例:
计算两个数之和。
JavaScript:
(function sum(a,b){ //此处也可去掉sum,以匿名函数的形式出现
alert(a+b);
})(7,8);
$(function(){
function sA(s,a,t){
s.animate(a,t || "normal",function(){
if(s.next().length){
sA(s.next(),a,t);
}
});
}
var test = $("#fc_js_controlli");
var testA = {"width":0};
sA(test.eq(0),testA,3000);
});
那函数就是你要的,用法参考下面的例句
首先代码都是按顺序由上往下执行的。
但是ajax方法是个例外。
ajax方法是指一种创建交互式网页应用的网页开发技术。
ajax方法默认是异步执行的,即不管有没返回结果都可以继续往下执行
要想等ajax方法返回结果再执行下面的方法,需要设置为同步async:false
如:
$.ajax({
url:'url',
type:'post',
async:false,
success:function(){},
error:function(){}
});
ajax是异步执行的,比如:
function test(){
alert("aaa");
$.post(url, params, function(){
alert("bbb");
});
alert(ccc);
}
执行这个方法的时候,aaa会先弹出来,下面弹出bbb还是ccc就不一定了,因为中间是ajax异步
加个全局变量记录当前步骤,然后根据变量值调用
var step =1;
$(document).ready(function(){
$("#kuang").click(function(){
if(step==1){
.......
}else if(){
}
....
});
});
【补充】:
scripts,这是一个数组,包含两个script标签:
[script
src="./service.ashx?file=js/jquery-ui.jsdelay=2000"
type="text/javascript"/script
,
scriptalert(typeof(jQuery.ui));/script]
evalScript,这是一个函数,通过jQuery.each函数来调用