在上两节的教程中我给大家简单的介绍了一些动画特效的应用。g98BeautyCss.org - 前端教程网
那么从这节我会给大家我会通过一个例子,来讲解一些动画的编写与思路g98BeautyCss.org - 前端教程网
首先给大家介绍下几个代码g98BeautyCss.org - 前端教程网
fadeIn 通过不透明度的变化来实现所有匹配元素的淡入效果,并在动画完成后可选地触发一个回调函数。g98BeautyCss.org - 前端教程网
fadeOut 通过不透明度的变化来实现所有匹配元素的淡出效果,并在动画完成后可选地触发一个回调函数。g98BeautyCss.org - 前端教程网
fadeTo 把所有匹配元素的不透明度以渐进方式调整到指定的不透明度,并在动画完成后可选地触发一个回调函数g98BeautyCss.org - 前端教程网
domain_01.html 实例g98BeautyCss.org - 前端教程网
以下代码为例g98BeautyCss.org - 前端教程网
<script>g98BeautyCss.org - 前端教程网
$(document).ready(function(){g98BeautyCss.org - 前端教程网
$("#click_fadeIn").click(function(){g98BeautyCss.org - 前端教程网
$(".fadeHide").fadeIn(500); //以淡入的方法显示出g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
$("#click_fadeOut").click(function(){g98BeautyCss.org - 前端教程网
$(".fadeOut").fadeOut(500); //以淡出的方法隐藏g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
$("#click_fadeTo").click(function(){g98BeautyCss.org - 前端教程网
$(".fadeTo").fadeTo(500,0.3); //指定淡入到多少透明度为此g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
$("#click_fadefun").click(function(){g98BeautyCss.org - 前端教程网
$(".fadefun").fadeTo(500,0.3,function(){alert("yes")}); //指定淡入到多少透明度为此,执行完淡出动画后再执行函数g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
$("#click_slideDown").click(function(){g98BeautyCss.org - 前端教程网
$(".slideDown").slideDown(500); //以向下增大的方法显示出g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
$("#click_slideUp").click(function(){g98BeautyCss.org - 前端教程网
$(".slideUp").slideUp(500); //以向上减小的方法隐藏g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
$("#click_slideToggle").click(function(){g98BeautyCss.org - 前端教程网
$(".slideToggle").slideToggle(500); //通过高度变化来切换所有匹配元素的可见性 可以使匹配的元素以“滑动”的方式隐藏或显示g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
</script>g98BeautyCss.org - 前端教程网
|
相信大家看到了·这一条会有点奇怪吧~ $(".fadefun").fadeTo(500,0.3,function(){alert("yes")});
g98BeautyCss.org - 前端教程网
先执行完动画再执行个函数效果这完全是可以的·其实像以前偶说过的效果代码g98BeautyCss.org - 前端教程网
“show”,“hide”,”toggle”,”fadeIn”,”fadeOut”,”fadeTo”,”slideDown”,”slideToggle”,”slideUp”,”animate” 都可以这样的。g98BeautyCss.org - 前端教程网
如果换成g98BeautyCss.org - 前端教程网
$(".fadefun").fadeTo(500,0.3);g98BeautyCss.org - 前端教程网
function(){alert("yes")} |
g98BeautyCss.org - 前端教程网
这样就不同了·这二个动作是同时进行的,在淡化的刚开始就会弹出yes所以像上面的那种有顺序的执行在后面的应用中是很重要的。g98BeautyCss.org - 前端教程网
Ok现在大家对这些特效都有简单的了解了·近来下我把图片自动翻滚的特效写法一一讲解下g98BeautyCss.org - 前端教程网
Domain_02案例g98BeautyCss.org - 前端教程网
大家可以看下这个案例的效果~~其实写这种效果我们要清楚的知道~有二个动作~一个是自动换图与选中数字切换到对面的图片.g98BeautyCss.org - 前端教程网
OK我们一个个来·先怎么让他自动换图呢?g98BeautyCss.org - 前端教程网
var k; //变个变量g98BeautyCss.org - 前端教程网
k = 0; //初始变量为0g98BeautyCss.org - 前端教程网
var mover_start;g98BeautyCss.org - 前端教程网
mover_img(); //自动翻图片函数g98BeautyCss.org - 前端教程网
function mover_img(){g98BeautyCss.org - 前端教程网
$(".box img").hide(); //我们先藏全部的图片g98BeautyCss.org - 前端教程网
$(".box span a").removeClass("a_active"); //删除数字选中的状态g98BeautyCss.org - 前端教程网
$(".box img").eq(k).show(); //显示当前的图片,因为初始是0 所以这里显示是第一张图片g98BeautyCss.org - 前端教程网
$(".box span a").eq(k).addClass("a_active"); //同时span里面的第一个A标签增加class 做为选中的状态g98BeautyCss.org - 前端教程网
k+1 < $(".box img").length ? k++ : k=0; //三次元运算~如果k小于图片的总数,那K就是+1 如果等于或大于那就把K设为0; 这样就可以让图片滚到最后一张再转时回到第一张g98BeautyCss.org - 前端教程网
mover_start = setTimeout(mover_img,4000); //重复执行这个函数每隔4秒g98BeautyCss.org - 前端教程网
} |
说明~~这样的话第一次$(".box img").eq(k)这里K是0是读取的初始值 所以是$(".box img").eq(0) <--第一张图片
g98BeautyCss.org - 前端教程网
然后因为0小于图片的总数,K++就是K=1了
g98BeautyCss.org - 前端教程网
mover_start = setTimeout(mover_img,4000);这里就进行第二次执行这个mover_img函数了~这时的K已经是1了 $(".box img").eq(1) <--第二张图片了
g98BeautyCss.org - 前端教程网
这样反复执行,k+1 < $(".box img").length ? k++ : k=0;
g98BeautyCss.org - 前端教程网
当k等于或大于图片的总数时,把K的值设为这样下次执行的
g98BeautyCss.org - 前端教程网
$(".box img").eq(k) 就是$(".box img").eq(0) <--又回到第一张了
g98BeautyCss.org - 前端教程网
就样一个自动翻滚的图片特效就完成了~g98BeautyCss.org - 前端教程网
那么偶们再看下选中怎么切换到对应的图片g98BeautyCss.org - 前端教程网
|
$(".box span a").each(function(i){ //每一个匹配的元素做为上下文做个执行g98BeautyCss.org - 前端教程网
$(".box span a").eq(i).hover(g98BeautyCss.org - 前端教程网
function(){ //悬停时g98BeautyCss.org - 前端教程网
clearTimeout(mover_start); //先停止mover_img函数g98BeautyCss.org - 前端教程网
$(".box img").hide(); //图片先全部隐藏g98BeautyCss.org - 前端教程网
$(".box span a").removeClass("a_active"); //a标签的class全删除g98BeautyCss.org - 前端教程网
$(".box img").eq(i).show(); //显示出选中的对应图片g98BeautyCss.org - 前端教程网
$(".box span a").eq(i).addClass("a_active"); //选中的添加classg98BeautyCss.org - 前端教程网
k=i;g98BeautyCss.org - 前端教程网
},g98BeautyCss.org - 前端教程网
function(){mover_start = setTimeout(mover_img,1);} //鼠标离开时重新开始执行mover_img函数g98BeautyCss.org - 前端教程网
)g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
|
相信这样的解释大家都能理解了·那我现在把代码全部整合给大家看下
g98BeautyCss.org - 前端教程网
|
$(document).ready(function(){g98BeautyCss.org - 前端教程网
var k;g98BeautyCss.org - 前端教程网
k = 0;g98BeautyCss.org - 前端教程网
var mover_start;g98BeautyCss.org - 前端教程网
mover_img();g98BeautyCss.org - 前端教程网
function mover_img(){g98BeautyCss.org - 前端教程网
$(".box img").hide();g98BeautyCss.org - 前端教程网
$(".box span a").removeClass("a_active");g98BeautyCss.org - 前端教程网
$(".box img").eq(k).show();g98BeautyCss.org - 前端教程网
$(".box span a").eq(k).addClass("a_active");g98BeautyCss.org - 前端教程网
k+1 < $(".box img").length ? k++ : k=0;g98BeautyCss.org - 前端教程网
mover_start = setTimeout(mover_img,4000);g98BeautyCss.org - 前端教程网
}g98BeautyCss.org - 前端教程网
$(".box span a").each(function(i){g98BeautyCss.org - 前端教程网
$(".box span a").eq(i).hover(g98BeautyCss.org - 前端教程网
function(){g98BeautyCss.org - 前端教程网
clearTimeout(mover_start);g98BeautyCss.org - 前端教程网
$(".box img").hide();g98BeautyCss.org - 前端教程网
$(".box span a").removeClass("a_active");g98BeautyCss.org - 前端教程网
$(".box img").eq(i).show();g98BeautyCss.org - 前端教程网
$(".box span a").eq(i).addClass("a_active");g98BeautyCss.org - 前端教程网
k=i;g98BeautyCss.org - 前端教程网
},g98BeautyCss.org - 前端教程网
function(){mover_start = setTimeout(mover_img,1);}g98BeautyCss.org - 前端教程网
)g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
})g98BeautyCss.org - 前端教程网
|
这样就是一个完整的效果了~
g98BeautyCss.org - 前端教程网
在这里我特别要提示了hover这个代码其它onmousermove与onmouseout 这二个很像~
g98BeautyCss.org - 前端教程网
Hover本身就有二个动作的一个是选中另一个是离开
g98BeautyCss.org - 前端教程网
此课已经结束~闪g98BeautyCss.org - 前端教程网